Skip to main content

Autohinter for data science assignments

Project description

JAH (Jeff's AutoHinter)

For data science and public policy courses at Georgetown. This repo combines two formerly-separate repos: one for the Python package that gets imported in each student's notebook, and another for the documentation of the package.

1 Publishing to PyPI

There are a few steps where, if one is skipped, the project won't update on PyPI!

  1. Increment the version number (can use semantic versioning etc.) in pyproject.toml
  2. Run python3 -m build, which will create new tar.gz files in the dist directory corresponding to the new version number
  3. Run add-dots.sh, which just handles the annoying-ness of JupyterHub's interface not allowing me to see dotfiles
  4. Push to github like usual

1.1 Testing the PyPI Version

  1. Create a new virtual environment with e.g. python3 -m venv .venv
  2. Activate that environment with source .venv/bin/activate
  3. Install jah into the virtual environment with python3 -m pip install jah
  4. Start a Python REPL shell with python
  5. Try importing and using jah
  6. Use quit() to exit the Python REPL shell
  7. Uninstall with python3 -m pip uninstall jah
  8. Deactivate the virtual environment by just typing deactivate

2 Package Documentation

The documentation of the package uses Zensical. The goal of Zensical, in theory, is to streamline the conversion of codebases into documentation (for example, by automatically converting in-code comment strings into pieces of the documentation). Here we don't use thse fancy features, so it essentially just becomes a... static site publishing system like Jekyll.

All of the Zensical operations here should be run within the custom virtual environment for the docs, by first running:

source .venv/bin/activate

You should then see a (jag) prefix in the Terminal shell, indicating that you're working within this virtual environment.

2.1 Previewing Documentation

The documentation pages are drawn from the docs subfolder. To preview what it looks like, run

zensical serve

The main configuration of the site is in zensical.toml (as opposed to pyproject.toml, which contains the configuration for the Python package itself!)

2.2 Publishing Documentation

Once the documentation is ready to be pushed, you can build the Zensical site structure using

zensical build

And, if that runs without error, you can then push it to GitHub via

git add -A .
git commit -m "Your message here"
git push

The updates should then be reflected on https://jjacobs.me/jah shortly thereafter.

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

jah-1.2.1.tar.gz (261.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jah-1.2.1-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

Details for the file jah-1.2.1.tar.gz.

File metadata

  • Download URL: jah-1.2.1.tar.gz
  • Upload date:
  • Size: 261.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for jah-1.2.1.tar.gz
Algorithm Hash digest
SHA256 15126cb3fcbb743bc7a5274c8fc9cd0c524adfc3addc1480a62d45aed5296efa
MD5 8529a96e5bb0ca0592f3a588f7c42007
BLAKE2b-256 0f522f4c7951d735569bcc638a1730e378eaf3857db9547a59192825b031e17a

See more details on using hashes here.

Provenance

The following attestation bundles were made for jah-1.2.1.tar.gz:

Publisher: publish-to-pypi.yml on jpowerj/jah

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jah-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: jah-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 4.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for jah-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5674c3af7f9e6b6f74d3b99ad4a07a85273ed346553770c83bc551f438ff3504
MD5 9a66cbdd4b91f05c7e07964854f1c869
BLAKE2b-256 74dd38260de5e008ba2a1e8a01fd494a0bb009d1dc52e6a9207f66a82718a3bf

See more details on using hashes here.

Provenance

The following attestation bundles were made for jah-1.2.1-py3-none-any.whl:

Publisher: publish-to-pypi.yml on jpowerj/jah

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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