👩💻 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.9 -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/tox -e py39
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.