👩‍💻 Development

The quickest way to get started developing this package is to clone it and build it out:

git clone https://github.com/NASA-PDS/pds-deep-archive.git
cd pds-deep-archive
python3 -m venv venv
venv/bin/pip install --editable '.[dev]'

Note

The above series of commands assume you have the corresponding development tools and familiarity with invoking them from the command line or “terminal”. Shells, operating systems, and command invocation varies.

At this point, you’ll have the pds-deep-archive, pds-deep-registry-archive, and other programs ready to run as venv/bin/pds-deep-archive, venv/bin/deep-registry-archive, etc., that’s set up to use source Python code under src. Changes you make to the code are reflected in immediately.

The documentation is in docs/source, formatted as reStructuredText and structured with Sphinx. To build the HTML from the documentation, run venv/bin/python setup.py build_sphinx. It will write HTML output to build/sphinx/html.

Commits back to GitHub will trigger workflows in GitHub Actions that re-publish the project website as well as send artifacts to the testing Python Package Index via the “unstable” workflow. The official Python Package Index gets updated only with official release tags via the “stable” workflow.

Testing

The code base finally includes unit and functional tests. Once you’ve run venv/bin/pip install --editable '.[dev]' you can run the entire test suite easily with:

venv/bin/pytest

Making Releases

That’s what our continuous integration is for; the “stable” workflow

Contribute

Before contributing please review our contributor’s guide which delineates the kinds of contributions we accept. Our code of conduct outlines the standards of behavior we practice and expect by everyone who participates with our software.

The source code is on GitHub.