This package helps you download and configure common tools for teaching and doing data science without an internet connection. This includes:
- Installers for data science languages: Currently R and Python
- Installers for common data science IDEs: Currently RStudio
- Partial local mirrors of package repositories: Currently CRAN (for R) and PyPI (for Python)
- Locally browseable clones of data science teaching websites: Currently Data Carpentry and Software Carpentry
Early stage experiment
pip install offlinedatasci
To install just the command line interface (CLI) we recommend pipx. Install pipx and then run:
pipx install offlinedatasci
pip install git+https://git@github.com/carpentriesoffline/offlinedatasci.git
Clone the repository and from the root directory run:
git clone https://github.com/carpentriesoffline/offlinedatasci.git
cd offlinedatasci
pip install .
On macOS make sure wheel package is installed first.
offlinedatasci install all /install/path
offlinedatasci install minicran /install/path
To add packages beyond those included in the basic data science teaching focused mirrors use add-packages
The command structure is offlinedatasci add-packages
followed by the language you want to add packages to, followed by the names of the packages, followed by the path of the mirror.
The path should be the same as where the mirror was originally setup, so the same install path you used for setup offlinedatasci.
For example, to add the sf
, terra
, and stars
geospatial packages to the CRAN mirror:
offlinedatasci add-packages r sf terra stars /install/path
- Increment the version numbers in
pyproject.toml
,__init__.py
, anddocs/conf.py
- Commit and push the changes to GitHub
- Create a tag for the new version
- Push the tag to GitHub (
git push upstream <tag_name>
) - Make sure the
build
package is installed - Make sure your PyPI credentials are stored in
~/.pypirc
- Build the source distribution:
python -m build --sdist
- Build the universal wheel:
python -m build --wheel
- Upload the new release to PyPI:
twine upload dist/*