diff --git a/_data/projects-numfocus.csv b/_data/projects-numfocus.csv new file mode 100644 index 0000000..16aed7e --- /dev/null +++ b/_data/projects-numfocus.csv @@ -0,0 +1,81 @@ +identifier,commonName,description,website,foundingDate,parentOrganization +numpy,NumPy," +NumPy is a universal data structure that fundamentally enables data analysis in numerical computing by permitting the exchange of data between algorithms. NumPy is a foundational project for the Python scientific computing stack.",http://www.numpy.org/,2015,numfocus +matplotlib,Matplotlib," +Matplotlib is a flexible and customizable tool for producing static and interactive data visualizations.",https://matplotlib.org/,2015,numfocus +pandas,pandas," +pandas is a data wrangling platform for Python widely adopted in the scientific computing community. pandas provides easy-to-use data ingestion, transformation, and export functions.",http://pandas.pydata.org/,2015,numfocus +projectjupyter,Project Jupyter,"Project Jupyter develops tools for interactive computing, research and education with an emphasis in data science workflows. Its flagship application is the widely used Jupyter Notebook, a web application that allows users to craft live narratives combining text, code and multimedia output. These documents support exploratory computing in a wide array of programming languages and can be shared to support collaborative and reproducible work.",https://jupyter.org/,2014,numfocus +ipython,IPython," +IPython is an enhanced interactive Python environment aimed at maximizing productivity in workflows that combine data, computation and exploratory programming. It gave rise to the larger, cross-language Project Jupyter, and it continues to provide the default Python environment for the Jupyter platform.",http://ipython.org/,2014,numfocus +scipy,SciPy,"SciPy provides fundamental numerical algorithms for scientific computing: statistics, numerical optimization, linear algebra, special functions, integration, interpolation, signal and image processing, and more. SciPy is a foundational building block for scientific and numerical computing in Python.",https://scipy.org/,2019,numfocus +nteract,nteract," +nteract is a stand-alone desktop application for developing computational notebooks. nteract allows users to craft narratives involving text, code, images, and data on the desktop rather than through a web application. This enables users to use their native system for file search as well as clicking to open notebook files.",https://nteract.io/,2016,numfocus +stan,Stan," +Stan is a platform for Bayesian modeling, inference, and visualization on the frontiers of applied statistics.",http://mc-stan.org/,2016,numfocus +pymc,PyMC,PyMC is a Python-based statistical modeling tool for Bayesian statistical modeling and Probabilistic Machine Learning which focuses on advanced Markov chain Monte Carlo and variational fitting algorithms.,http://docs.pymc.io/,2016,numfocus +julia,Julia," +Julia is a fast and user-friendly programming language for high-performance scientific computing.",https://julialang.org/,2014,numfocus +jump,JuMP,"JuMP is a modeling interface and a collection of supporting packages for mathematical optimization that is embedded in Julia. With JuMP, users formulate various classes of optimization problems with easy-to-read code, and then solve these problems using state-of-the-art open-source and commercial solvers. JuMP also makes advanced optimization techniques easily accessible from a high-level language.",https://jump.dev/,2018,numfocus +pytables,PyTables," +PyTables is an efficient method for storing and querying both numerical and textual data. PyTables provides seamless access to the convenient HDF5 library, a popular container for datasets that can grow to terabytes and beyond. With its support of the ultra-fast Blosc compressor, PyTables optimizes memory and disk resources so that data takes up far less space than other solutions, without allowing compression to slow down your data management.",http://www.pytables.org/,2016,numfocus +shogun,Shogun," +The Shogun Machine Learning Toolbox is devoted to making machine learning tools available for free, to everyone. It provides efficient implementation of all standard ML algorithms. Shogun ensures that the underlying algorithms are transparent and accessible—a unified interface provides access via many popular programming languages, including C++, Python, Octave, R, Java, Lua, C#, and Ruby.",http://www.shogun-toolbox.org/,2017,numfocus +sympy,SymPy," +SymPy is a library for symbolic mathematics, which means performing mathematical calculations exactly (as opposed to inexact numeric calculations from libraries such as NumPy). Its core features include basic arithmetic, simplification trigonometry, polynomials, expansion, functions, substitution, numbers, noncommutative symbols, and pattern matching.",http://www.sympy.org/en/index.html,2014,numfocus +fenicsproject,FEniCS Project," +FEniCS is an automated finite element library used to solve equations used in modeling, featuring a domain-specific language and automated code generation. Users input a problem that looks very much like mathematical notation; FEniCS then translates that into computer code. It solves problems for which there is no analytical (exact) solution numerically.",https://fenicsproject.org/,2016,numfocus +yt,yt," +yt is a tool for querying, analyzing and visualizing objects or regions of interest to identify emergent properties in data available in a variety of real-world research data formats. Initially developed for use by professional astronomers, yt can be applied in a variety of domains including astrophysics, seismology, nuclear engineering, molecular dynamics, and oceanography.",http://yt-project.org/,2016,numfocus +econark,Econ-ARK," +The aim of the Econ-ARK project is to make it easier for social scientists to do ‘structural modeling’ of economic choice behavior by providing a well-documented, open source codebase containing the core techniques in a way that can be relatively easily adapted to address many different questions in both macro- and microeconomics. ‘Structural’ modeling of economic choices aims to identify the logic or reasons behind observed behavior, rather than just describing that behavior statistically.",https://econ-ark.org/,2017,numfocus +astropy,Astropy," +The Astropy Project provides software tools and infrastructure to facilitate research by professional astronomers. In addition to maintaining a core Python package, the Astropy Project supports the development of high-grade affiliated packages by members of the astronomical community.",http://www.astropy.org/,2014,numfocus +sunpy,SunPy," +SunPy is a Python-based software library that provides tools for performing research using direct observations of the Sun and Heliosphere.",http://sunpy.org/,2017,numfocus +quantecon,QuantEcon," +QuantEcon is dedicated to improving economic modeling by providing and enhancing open source computational tools for economists. QuantEcon offers code libraries useful for economics; workshops, seminars and training; and an online archive of lectures on economics and programming.",https://quantecon.org/,2016,numfocus +ropensci,rOpenSci," +rOpenSci creates technical and community infrastructure for open and reproducible research in the R language. It features a curated collection of over 300 R packages, an open software peer review system for community-contributed packages, a platform for building, testing, and publishing R packages, and documentation, and community engagement programs to support scientific R users and developers. +",https://ropensci.org/,2014,numfocus +openjournals,Open Journals," +Open Journals is a collection of open source, open access journals. The flagship Journal of Open Source Software (JOSS) is a developer friendly journal for research software packages. With a formal peer review process that is designed to improve the quality of the software submitted, JOSS is designed to help researchers developing open source software to receive career credit for their work.",http://www.theoj.org/,2017,numfocus +cantera,Cantera," +Cantera is an open source software suite that helps users solve problems involving thermodynamics, chemical reaction rates, and fluid transport processes. The software is written to be flexible and efficient, handling these calculations in a way that lets the user shift their attention to other elements of their calculations.  Because it is open source, the software can be easily extended to support the needs of any particular researcher.",http://cantera.org,2018,numfocus +bokeh,Bokeh,"Bokeh is an interactive visualization library that targets modern web browsers for presentation. Bokeh can help anyone who would like to quickly and easily connect powerful PyData tools to interactive plots, dashboards, and data applications.",https://bokeh.org/,2018,numfocus +condaforge,conda-forge,Share This Project:,https://conda-forge.org/,2018,numfocus +xarray,xarray," +Xarray is an open source library providing high-level, easy-to-use data structures and analysis tools for working with multidimensional labeled datasets and arrays in Python.",http://xarray.pydata.org,2018,numfocus +blosc,Blosc,Blosc is a very high performance meta-compressor specially designed for compressing binary data.,http://www.blosc.org,2019,numfocus +mathjax,MathJax,MathJax is a JavaScript library for displaying mathematics in web pages and making it accessible for those using assistive technology.,http://www.mathjax.org/,2019,numfocus +dask,Dask,"Dask provides advanced parallelism for analytics, enabling performance at scale for the tools you love.",https://dask.org/,2019,numfocus +mlpack,mlpack,"mlpack is a fast, flexible machine learning library suitable for both data science prototyping and deployment.",http://www.mlpack.org/,2019,numfocus +zarr,Zarr,Zarr: scalable storage of tensor data for scientific computing,https://zarr.readthedocs.io/,2019,numfocus +mdanalysis,MDAnalysis,"MDAnalysis is a Python library for the analysis of computer simulations of many-body systems at the molecular scale, spanning use cases from interactions of drugs with proteins to novel materials. It is widely used in the scientific community and is written by scientists for scientists. ",https://www.mdanalysis.org/,2020,numfocus +scikitimage,scikit-image,scikit-image aims to be the reference library for scientific image analysis in Python.,https://scikit-image.org/,2020,numfocus +itk,ITK,"ITK is an open-source, cross-platform library that provides developers with an extensive suite of software tools for image analysis.  Developed through extreme programming methodologies, ITK builds on a proven, spatially-oriented architecture for processing, segmentation, and registration of scientific images in two, three, or more dimensions.",https://www.insightsoftwareconsortium.org/,2020,numfocus +openfhe,OpenFHE,"OpenFHE (formerly Palisade: https://www.openfhe.org/​) is an open-source project that provides efficient implementations of lattice cryptography building blocks and leading homomorphic encryption schemes. Originally developed by researchers in the cryptographic community, OpenFHE is actively being used by several groups in academics and industry (see the list at https://www.openfhe.org/community/) and is being incorporated into products to protect the privacy of individuals’ data while allowing computation on that data.",https://numfocus.org/project/openfhe,2019,numfocus +openmbee,OpenMBEE,OpenMBEE is a community of Engineering Practitioners and Software Developers that seek to use Open Source as a means to expand the availability of Engineering Models and Software that connect technical information in a collaborative platform.,https://www.openmbee.org,2020,numfocus +scikitlearn,scikit-learn,"Scikit–learn is a Python library for machine learning, and is one of the most widely used tools for supervised and unsupervised machine learning. Scikit–learn provides an easy-to-use, consistent interface to a large collection of machine learning models, as well as tools for model evaluation and data preparation.",https://scikit-learn.org/stable/,2020,numfocus +sciml,SciML,"SciML is an open source software organization created to unify the packages for scientific machine learning. This includes the development of modular scientific simulation support software, such as differential equation solvers, along with the methodologies for inverse problems and automated model discovery. By providing a diverse set of tools with a common interface, we provide a modular, easily-extendable, and highly performant ecosystem for handling a wide variety of scientific simulations.",https://sciml.ai/,2020,numfocus +tardis,TARDIS,TARDIS is a collection of tools to analyze observations from exploding stars and is widely adopted in the astrophysical community for cutting edge science. TARDIS is a multi-disciplinary collaboration applying new tools from artificial intelligence research and high-performance computing with an open-source development structure.,https://tardis-sn.github.io/tardis/,2020,numfocus +arviz,ArviZ,A unified codebase for Exploratory analysis of Bayesian models.,https://arviz-devs.github.io/arviz/,2020,numfocus +lfortran,LFortran,"LFortran is a modern open-source (BSD licensed) interactive Fortran compiler built on top of LLVM. It can execute user’s code interactively to allow exploratory work (much like Python, MATLAB or Julia) as well as compile to binaries with the goal to run user’s code on modern architectures such as multi-core CPUs and GPUs.",https://lfortran.org/,2020,numfocus +networkx,NetworkX,"NetworkX is a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks.",https://networkx.github.io/,2021,numfocus +gdal,GDAL,"GDAL, the Geospatial Data Abstraction Library, is an access and translator library for raster and vector geospatial data formats, often known as the swiss knife of geospatial.",https://gdal.org,2021,numfocus +sgkit,sgkit,sgkit is a toolkit for population and statistical genetics in Python.,https://pystatgen.github.io/sgkit,2021,numfocus +nibabel,NiBabel,"NiBabel is an input/output library for brain imaging, providing Python interfaces to common medical and neuroimaging file formats, including: ANALYZE, GIFTI, NIfTI1, NIfTI2, CIFTI-2, MINC1, MINC2, AFNI BRIK/HEAD, MGH, ECAT, Philips PAR/REC, and FreeSurfer geometry, annotation and morphometry files.",https://nipy.org/nibabel/,2022,numfocus +napari,napari,"napari is an n-dimensional image viewer in Python. It can view NumPy arrays as well as many others in the ecosystem, including Dask, Zarr, and Xarray.",https://napari.org,2022,numfocus +scientificpython,Scientific Python,"The Scientific Python **ecosystem** is a loose federation of **community** developed and owned Python projects widely used in scientific research, technical computing, and data science. The Scientific Python project aims to coordinate the ecosystem better and prepare Scientific Python for the next decade.",https://scientific-python.org/,2022,numfocus +conda,Conda,"Conda is an open source package management system and environment management system that runs on Windows, macOS, Linux and z/OS. Conda quickly installs, runs and updates packages and their dependencies. Conda easily creates, saves, loads and switches between environments on your local computer. Conda supports software written in any language.",https://github.com/conda,2022,numfocus +cupy,CuPy,"CuPy is a GPU-based Python library for data analysis in numerical computing. CuPy shares the same API as NumPy and SciPy, allowing the use of GPUs at a minimal learning cost and without the need for in-depth knowledge of low-level GPU programming.",https://cupy.dev/,2022,numfocus +gnuoctave,GNU Octave,"GNU Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab. It may also be used as a batch-oriented language.Octave has extensive tools for solving common numerical linear algebra problems, finding the roots of nonlinear equations, integrating ordinary functions, manipulating polynomials, and integrating ordinary differential and differential-algebraic equations. It is easily extensible and customizable via user-defined functions written in Octave’s own language, or using dynamically loaded modules written in C++, C, Fortran, or other languages. GNU Octave is also freely redistributable software. You may redistribute it and/or modify it under the terms of the GNU General Public License (GPL) as published by the Free Software Foundation. Octave was written by John W. Eaton and many others.",https://octave.org/,2022,numfocus +galaxy,Galaxy,"Galaxy is a web accessible scientific computing software platform designed for scientists to manage, visualise, analyse and share their own data with minimal technical effort. Free, online analysis services, with integrated training resources, are provided in Europe, Australia and the USA, or code can be downloaded and run locally.",https://galaxyproject.org/,2022,numfocus +bioconductor,Bioconductor,"Bioconductor is an open source, open development ecosystem of R-based software for bioinformatics. The project started around 2001 and has funding from the National Institutes of Health National Human Genome Research Institute and National Cancer Institute, and the Chan Zuckerberg Initiative. Bioconductor hosts, tests, and distributes over 2,000 R packages on genomic analysis methods by hundreds of active contributors. All packages are tested daily on Linux, Windows and Mac and are distributed globally with open licensing. Scientific, Technical, and Community Advisory boards meet on a regular basis. Annual conferences help disseminate new methods and tools for genome biology.",https://bioconductor.org,2022,numfocus +pybamm,PyBaMM,"PyBaMM (Python Battery Mathematical Modelling) solves physics-based electrochemical DAE models by using state-of-the-art automatic differentiation and numerical solvers. The Doyle-Fuller-Newman model can be solved in under 0.1 seconds, while the reduced-order Single Particle Model and Single Particle Model with electrolyte can be solved in just a few milliseconds. Additional physics can easily be included such as thermal effects, fast particle diffusion, 3D effects, and more. All models are implemented in a flexible manner, and a wide range of models and parameter sets (NCA, NMC, LiCoO2, …) are available. There is also functionality to simulate any set of experimental instructions, such as CCCV or GITT, or specify drive cycles.",https://www.pybamm.org,2022,numfocus +worldwidetelescope,WorldWide Telescope,"Thanks to the flexibility of its underlying rendering engine, WWT is used in projects ranging from astrophysics research to education, public outreach, and simply sharing the wonder of the universe. For instance, the WWT web toolkit is used in the Chandra Source Catalog viewer of NASA’s Chandra X-Ray Center, the StarHunt student research project funded by the Nobel Prize Museum, and interactive educational applications created for NASA’s Bringing the Universe to America’s Classrooms program. The WWT Windows application has powered hundreds of planetariums, from small portable domes to world-class facilities like the Adler Planetarium in Chicago.",https://worldwidetelescope.org/home/,2022,numfocus +spyder,Spyder,"Spyder is a powerful scientific environment written in Python, for Python, and designed by and for scientists, engineers and data analysts. It features a unique combination of the advanced editing, analysis, debugging, and profiling functionality of a comprehensive development tool with the data exploration, interactive execution, deep inspection, and beautiful visualization capabilities of a scientific package. The Spyder project also maintains a number of other popular tools in the PyData ecosystem and beyond, including Jupyter QtConsole, QtPy, QtAwesome, Python-LSP-Server, LogHub, Lektor-Icon, Docrepr and more, alongside a bevy of Spyder plugins.",https://www.spyder-ide.org/,2022,numfocus +gammapy,Gammapy,"Gammapy is a community-developed, open-source Python package for gamma-ray astronomy built on Numpy, Scipy and Astropy. It is the core library for the CTA Science Tools but can also be used to analyse data from existing imaging atmospheric Cherenkov telescopes (IACTs), such as H.E.S.S., MAGIC and VERITAS. It also provides some support for Fermi-LAT and HAWC data analysis.",https://gammapy.org,2022,numfocus +geopandas,GeoPandas,"GeoPandas is an open source project to make working with geospatial data in Python easier. It combines the capabilities of pandas and shapely, providing geospatial operations in pandas and a high-level interface to multiple geometries to shapely. GeoPandas enables you to easily do operations in Python that would otherwise require a spatial database such as PostGIS.",https://geopandas.org/en/stable/,2023,numfocus +scverse,scverse,scverse is a consortium of foundational tools for analysis of omics data in life sciences. It has been founded to ensure the long-term maintenance of these core tools.,https://scverse.org,2023,numfocus +holoviz,HoloViz,"The HoloViz project is a set of open-source and interoperable tools for making sense of data at any scale, primarily through visualization in a web browser. These high-level tools are systematically layered, allowing users to quickly build with high-level interfaces and then drop down to lower levels when precise control is required. This layered approach results in visualizations that are immediately usable but can then continue to be inspected, pulled apart, reconfigured, and recomposed as needed. Whether conducting exploratory analysis or building complex dashboards, HoloViz tools are designed to work together to solve the entire problem of understanding and communicating data visually: hvPlot (interactive plotting built on Bokeh, Matplotlib, and Plotly), Panel (interactive apps and dashboards), Datashader (server-side rendering of large datasets), Colorcet (perceptually based colormapping), HoloViews and GeoViews (declarative high-level data description and plotting), Lumen (low-code and no-code plotting and apps), and Param (support for declarative parameter-based coding).",https://holoviz.org/,2023,numfocus diff --git a/_pages/projects-numfocus.md b/_pages/projects-numfocus.md new file mode 100644 index 0000000..e2f6a2d --- /dev/null +++ b/_pages/projects-numfocus.md @@ -0,0 +1,13 @@ +--- +title: NumFOCUS Projects +excerpt: Full list of NumFOCUS sponsored projects. +layout: default +permalink: /projects-numfocus +nav_exclude: true +--- + +[NumFOCUS](foundations/numfocus) provides [fiscal hosting](https://numfocus.org/sponsored-projects) for a variety of open source projects. + +

NumFOCUS Subprojects

+ +{% include subproject.html subproject=site.data.projects-numfocus %} diff --git a/_pages/projects.md b/_pages/projects.md index f4508c5..c73e1b4 100644 --- a/_pages/projects.md +++ b/_pages/projects.md @@ -14,7 +14,7 @@ These listings are updated on a best-effort basis, and provide just a snapshot i - Linux Foundation projects. - Eclipse Foundation projects. - Software Freedom Conservancy projects. -- NumFocus projects. +- [NumFocus](projects-numfocus) projects. - [Software In The Public Interest](projects-spi) projects. Project listings may not be current. Various helper scripts in [assets/ruby/scrapers.rb](https://github.com/Punderthings/fossfoundation/tree/main/assets/ruby/scrapers.rb) are used to semi-automate enumerating foundation projects and creating a simplified per-foundation `.csv` listing. diff --git a/assets/ruby/scrapers.rb b/assets/ruby/scrapers.rb index 3625da2..c4f8f0c 100644 --- a/assets/ruby/scrapers.rb +++ b/assets/ruby/scrapers.rb @@ -54,6 +54,37 @@ def scrape_asf_projects(outfile) # return lines # end +# def scrape_numfocus_projects(outfile) +# numfocus_url = 'https://numfocus.org/sponsored-projects' +# doc = Nokogiri::HTML(URI.open(numfocus_url)) +# results = doc.css('.search-filter-results .search-result-item h2 a') +# projects = {} +# results.each do |result| +# puts "#{result.text} #{result['href']}" +# project_doc = Nokogiri::HTML(URI.open(result['href'])) +# projects[result.text.downcase.gsub(/\W+/, '')] = { +# 'commonName' => result.text, +# 'website' => numfocus_website(project_doc, result['href']), +# 'description' => project_doc.css('.et_pb_header_content_wrapper p:first').text, +# 'foundingDate' => project_doc.at('.et_pb_fullwidth_header_subhead').text.split('since ')[-1] +# } +# end +# lines = 0 +# CSV.open(outfile, "w", headers: HEADERS, write_headers: true) do |csv| +# projects.each do |key, h| +# csv << [key, h['commonName'], h['description'], h['website'], h['foundingDate'], 'numfocus'] +# lines += 1 +# end +# end +# return lines +# end + +# def numfocus_website(project_doc, fallback_url) +# project_doc.at('a:contains("Website")')['href'] +# rescue +# fallback_url +# end + ### Command line use outfile = '_data/projects-asf.csv' puts "BEGIN #{__FILE__}.scrape_asf_projects(#{outfile})" @@ -64,3 +95,8 @@ def scrape_asf_projects(outfile) # puts "BEGIN #{__FILE__}.scrape_spi_projects(#{outfile})" # lines = scrape_spi_projects(outfile) # puts "END wrote #{lines} lines" + +# outfile = '_data/projects-numfocus.csv' +# puts "BEGIN #{__FILE__}.scrape_numfocus_projects(#{outfile})" +# lines = scrape_numfocus_projects(outfile) +# puts "END wrote #{lines} lines"