Skip to main content

Build, access, and explore a NEPC database.

Project description


workflow status Documentation Status GitHub DOI

The goals of the nepc project are to provide tools to:

  1. parse, evaluate, and populate metadata for electron scattering cross sections;
  2. build a NEPC MySQL database of cross sections;
  3. curate, access, visualize, and use cross section data from a NEPC database; and
  4. support verification and validation of electron scattering cross section data.

The database schema and Python module are designed for anyone interested in plasma chemistry with a background in physics at the graduate level.

Documentation for the nepc project:


The project is organized in the following directories:

  • tests - unit and integration testing
  • tests/data - data directory for the nepc_test database--an example NEPC database containing fictitious electron scattering cross section data used in unit and integration testing
  • tests/data/eda - example exploratory data analysis (EDA) of a NEPC database that is possible with the nepc Python module
  • tests/data/curate - code used to curate fictitious cross section data in LXCat format and create various NEPC Models for the nepc_test database
  • docs - files used by Sphinx to generate the NEPC documentation
  • nepc - the Python code for the nepc package and building a NEPC database
  • nepc/mysql - the Python code for creating a NEPC database from data in NEPC_CS_HOME environment variable; also creates the nepc_test database from data in NEPC_HOME/tests/data (must have the NEPC_HOME environment variable set)

Getting Started

To install nepc with pip, run:

$ pip install nepc

Establish a connection to the database named nepc running on a production server (you must set an environment variable NEPC_PRODUCTION that points to the production server):

>>> cnx, cursor = nepc.connect()

If you've built the nepc_test database on your local machine (see instructions here), establish a connection to it:

>>> cnx, cursor = nepc.connect(local=True, test=True)

Access the pre-defined plasma chemistry model, fict_min2, in the nepc_test database:

>>> fict_min2 = nepc.Model(cursor, "fict_min2")

Print a summary of the fict_min2 model, including a stylized Pandas dataframe:

>>> fict_min2.summary()

Plot the cross sections in fict_min2.

>>> fict_min2.plot(ylog=True, xlog=True, width=8, height=4) 

Additional examples of EDA using nepc are in tests/data/eda. Examples of scripts for curating raw data for the nepc_test database, including parsing LXCat formatted data, are in tests/data/curate.

Built With


NEPC rhymes with the loser of the Cola War. If NEPC were in the CMU Pronouncing Dictionary, its entry would be N EH P S IY ..

Approved for public release, distribution is unlimited.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nepc-2023.9.22.tar.gz (32.0 kB view hashes)

Uploaded Source

Built Distribution

nepc-2023.9.22-py3-none-any.whl (32.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page