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!
- Increment the version number (can use semantic versioning etc.) in
pyproject.toml - Run
python3 -m build, which will create newtar.gzfiles in thedistdirectory corresponding to the new version number - Run
add-dots.sh, which just handles the annoying-ness of JupyterHub's interface not allowing me to see dotfiles - Push to github like usual
1.1 Testing the PyPI Version
- Create a new virtual environment with e.g.
python3 -m venv .venv - Activate that environment with
source .venv/bin/activate - Install
jahinto the virtual environment withpython3 -m pip install jah - Start a Python REPL shell with
python - Try importing and using
jah - Use
quit()to exit the Python REPL shell - Uninstall with
python3 -m pip uninstall jah - 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jah-1.2.4.tar.gz.
File metadata
- Download URL: jah-1.2.4.tar.gz
- Upload date:
- Size: 261.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0cbbc158e757049236a3e3057c84742a3194d1891bee434dcf7e420302e74e38
|
|
| MD5 |
1debc6af0ddf527dd1bf531042f8fc6a
|
|
| BLAKE2b-256 |
d8e4b5593b2b9677874325d5423d6d822ecbb8bd70e4b3654bd7942479f87323
|
Provenance
The following attestation bundles were made for jah-1.2.4.tar.gz:
Publisher:
publish-to-pypi.yml on jpowerj/jah
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jah-1.2.4.tar.gz -
Subject digest:
0cbbc158e757049236a3e3057c84742a3194d1891bee434dcf7e420302e74e38 - Sigstore transparency entry: 1755415085
- Sigstore integration time:
-
Permalink:
jpowerj/jah@7664b57fb2f8c779c545b3a58f579f3a0f5280cf -
Branch / Tag:
refs/heads/main - Owner: https://github.com/jpowerj
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@7664b57fb2f8c779c545b3a58f579f3a0f5280cf -
Trigger Event:
push
-
Statement type:
File details
Details for the file jah-1.2.4-py3-none-any.whl.
File metadata
- Download URL: jah-1.2.4-py3-none-any.whl
- Upload date:
- Size: 4.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
526892b28f1a12e87e431c67095d547aff0e1768facf210aca7023e393397876
|
|
| MD5 |
6cca2c82aac7f6e3e7cc393771254089
|
|
| BLAKE2b-256 |
add2a5de18c854ab98b355af104959de0e5d042e02f2df4e6453d3251488ef8a
|
Provenance
The following attestation bundles were made for jah-1.2.4-py3-none-any.whl:
Publisher:
publish-to-pypi.yml on jpowerj/jah
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jah-1.2.4-py3-none-any.whl -
Subject digest:
526892b28f1a12e87e431c67095d547aff0e1768facf210aca7023e393397876 - Sigstore transparency entry: 1755415158
- Sigstore integration time:
-
Permalink:
jpowerj/jah@7664b57fb2f8c779c545b3a58f579f3a0f5280cf -
Branch / Tag:
refs/heads/main - Owner: https://github.com/jpowerj
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@7664b57fb2f8c779c545b3a58f579f3a0f5280cf -
Trigger Event:
push
-
Statement type: