Replace this text with a one line description of the package.
Project description
Cheshire: a Python Template Repository for Catalyst
This template repository helps make new Python projects easier to set up and more
uniform. It contains a lot of infrastructure surrounding a minimal Python package named
cheshire (the cat who isn't entirely there...).
Create a new repository from this template
- Choose a name for the new package that you are creating.
- The name of the repository should be the same as the name of the new Python package
you are going to create. E.g. a repository at
catalyst-cooperative/cheshireshould be used to define a package namedcheshire. - Fork this template repository to create a new Python project repo. See these instructions.
- Clone the new repository to your development machine.
- Install pixi if you don't already have it.
- Run
pixi run prek installin the newly cloned repository to install the pre-commit hooks defined in.pre-commit-config.yaml, using prek as the runner. - Run
pixi run testfrom the top level of the repository to verify that everything is working correctly.
Rename the package and distribution
Once you know that your forked version of the cheshire package is working as
expected, you should update the package and distribution names in your new repo to
reflect the name of your new package. The package name is determined by the name of
the directory under src/ which contains the source code, and is the name you'll use
to import the package for use in a program, script, or notebook. E.g.:
import cheshire
The distribution name is the name that is used to install the software using a
program like pip, conda, or pixi. It is often identical to the package name, but
can also contain a prefix namespace that indicates the individual or organization
responsible for maintaining the package. See
PEP 423 for more on Python package naming
conventions. We are using the catalystcoop namespace for the packages that we
publish, so our pudl package becomes catalystcoop.pudl in the Python Package Index
(PyPI) or on conda-forge. Similarly the cheshire package becomes the
catalystcoop.cheshire distribution. The distribution name is determined by the
project.name defined in pyproject.toml.
pip install catalystcoop.cheshire
The package and distribution names are referenced in many of the files in the template
repository, and they all need to be replaced with the name of your new package. You can
use grep -r to search recursively through all of the files for the word cheshire
at the command line, or use the search-and-replace functionality of your IDE / text
editor. The name of the package directory under src/ will also need to be changed.
- Supply any required tokens, e.g. for CodeCov.
- Rename the
src/cheshiredirectory to reflect the new package name. - Search for
cheshireand replace it as appropriate everywhere. Sometimes this will be with a distribution name likecatalystcoop.cheshire(the package as it appears forpiporPyPI) and sometimes this will be the importable package name (the name of the directory undersrce.g.cheshire). - Enable GitHub Pages for the new repository (Settings -> Pages -> Source: GitHub
Actions) so the
docsworkflow can publish the documentation.
What this template provides
See the Tooling docs for details on all of the tooling this template sets up:
- Python Package Skeleton
- Environment & Task Management with Pixi
- Devcontainer
- Pytest Testing Framework
- Git Pre-commit Hooks
- Code Formatting & Linting
- Type Checking
- Code & Documentation Linters
- Test Coverage
- Documentation Builds
- Documentation Publishing
- Dependabot
- GitHub Actions
About Catalyst Cooperative
Catalyst Cooperative is a small group of data wranglers and policy wonks organized as a worker-owned cooperative consultancy. Our goal is a more just, livable, and sustainable world. We integrate public data and perform custom analyses to inform public policy (Hire us!). Our focus is primarily on mitigating climate change and improving electric utility regulation in the United States.
Contact Us
- For general support, questions, or other conversations around the project that might be of interest to others, check out the GitHub Discussions.
- If you'd like to get occasional updates about our projects sign up for our email list.
- Want to schedule a time to chat with us one-on-one? Join us for Office Hours.
- More info on our website: https://catalyst.coop
- For private communication about the project or to hire us to provide customized data extraction and analysis, you can email the maintainers: pudl@catalyst.coop.
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 catalystcoop_cheshire-0.5.4.tar.gz.
File metadata
- Download URL: catalystcoop_cheshire-0.5.4.tar.gz
- Upload date:
- Size: 168.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab2564f6fef04af26399ada492f210b2070f60b89c80384364f2482ac65da452
|
|
| MD5 |
26b659eed6d403544e6c7ca85acbe451
|
|
| BLAKE2b-256 |
37b1ac301a1ae37e22454682dae17c0d3a13faf2887b3cbb51fa07f4067bcbfc
|
Provenance
The following attestation bundles were made for catalystcoop_cheshire-0.5.4.tar.gz:
Publisher:
release.yml on catalyst-cooperative/cheshire
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
catalystcoop_cheshire-0.5.4.tar.gz -
Subject digest:
ab2564f6fef04af26399ada492f210b2070f60b89c80384364f2482ac65da452 - Sigstore transparency entry: 2191134408
- Sigstore integration time:
-
Permalink:
catalyst-cooperative/cheshire@a5eb58fbd0e8396eaa012fa6ebe8bcd2ec2e1aa7 -
Branch / Tag:
refs/tags/v0.5.4 - Owner: https://github.com/catalyst-cooperative
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a5eb58fbd0e8396eaa012fa6ebe8bcd2ec2e1aa7 -
Trigger Event:
push
-
Statement type:
File details
Details for the file catalystcoop_cheshire-0.5.4-py3-none-any.whl.
File metadata
- Download URL: catalystcoop_cheshire-0.5.4-py3-none-any.whl
- Upload date:
- Size: 8.3 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 |
4b9b4507fc4f4b79f24703bea868c18be4ad191cfd490ee8fa6e43c5a20bcc23
|
|
| MD5 |
ba58dfda3d4a19a52f448f36eff179d8
|
|
| BLAKE2b-256 |
31bfe92fe7b42c2074bc5caf17dfd226414c43361ab351f8425f4a81847628bd
|
Provenance
The following attestation bundles were made for catalystcoop_cheshire-0.5.4-py3-none-any.whl:
Publisher:
release.yml on catalyst-cooperative/cheshire
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
catalystcoop_cheshire-0.5.4-py3-none-any.whl -
Subject digest:
4b9b4507fc4f4b79f24703bea868c18be4ad191cfd490ee8fa6e43c5a20bcc23 - Sigstore transparency entry: 2191134439
- Sigstore integration time:
-
Permalink:
catalyst-cooperative/cheshire@a5eb58fbd0e8396eaa012fa6ebe8bcd2ec2e1aa7 -
Branch / Tag:
refs/tags/v0.5.4 - Owner: https://github.com/catalyst-cooperative
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a5eb58fbd0e8396eaa012fa6ebe8bcd2ec2e1aa7 -
Trigger Event:
push
-
Statement type: