Skip to main content

python-package-template

This is a template repository for Python package projects.

In this README :point_down:

Features

This template repository comes with all of the boilerplate needed for:

⚙️ Robust (and free) CI with GitHub Actions:

  • Unit tests ran with PyTest against multiple Python versions and operating systems.
  • Type checking with mypy.
  • Linting with ruff.
  • Formatting with isort and black.

🤖 Dependabot configuration to keep your dependencies up-to-date.

📄 Great looking API documentation built using Sphinx (run make docs to preview).

🚀 Automatic GitHub and PyPI releases. Just follow the steps in RELEASE_PROCESS.md to trigger a new release.

Usage

Initial setup

  1. Create a new repository from this template with the desired name of your project.

    Your project name (i.e. the name of the repository) and the name of the corresponding Python package don't necessarily need to match, but you might want to check on PyPI first to see if the package name you want is already taken.

  2. Create a Python 3.8 or newer virtual environment.

    If you're not sure how to create a suitable Python environment, the easiest way is using Miniconda. On a Mac, for example, you can install Miniconda using Homebrew:

    brew install miniconda
    

    Then you can create and activate a new Python environment by running:

    conda create -n cpp-langchain python=3.9
    conda activate cpp-langchain
    
  3. Now that you have a suitable Python environment, you're ready to personalize this repository. Just run:

    pip install -r setup-requirements.txt
    python scripts/personalize.py
    

    And then follow the prompts.

    :pencil: NOTE: This script will overwrite the README in your repository.

  4. Commit and push your changes, then make sure all GitHub Actions jobs pass.

  5. (Optional) If you plan on publishing your package to PyPI, add repository secrets for PYPI_USERNAME and PYPI_PASSWORD. To add these, go to "Settings" > "Secrets" > "Actions", and then click "New repository secret".

    If you don't have PyPI account yet, you can create one for free.

  6. (Optional) If you want to deploy your API docs to readthedocs.org, go to the readthedocs dashboard and import your new project.

    Then click on the "Admin" button, navigate to "Automation Rules" in the sidebar, click "Add Rule", and then enter the following fields:

    • Description: Publish new versions from tags
    • Match: Custom Match
    • Custom match: v[vV]
    • Version: Tag
    • Action: Activate version

    Then hit "Save".

    After your first release, the docs will automatically be published to your-project-name.readthedocs.io.

Creating releases

Creating new GitHub and PyPI releases is easy. The GitHub Actions workflow that comes with this repository will handle all of that for you. All you need to do is follow the instructions in RELEASE_PROCESS.md.

Projects using this template

Here is an incomplete list of some projects that started off with this template:

☝️ Want your work featured here? Just open a pull request that adds the link.

FAQ

Should I use this template even if I don't want to publish my package?

Absolutely! If you don't want to publish your package, just delete the docs/ directory and the release job in .github/workflows/main.yml.

Contributing

If you find a bug :bug:, please open a bug report. If you have an idea for an improvement or new feature :rocket:, please open a feature request.

Metadata

Release files for cpp-langchain 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cpp-langchain 0.1.0
File Size Uploaded
cpp_langchain-0.1.0.tar.gz 19.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cpp-langchain 0.1.0
File Interpreter ABI Platform
cpp_langchain-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 34.0 kB

Release files / cpp_langchain-0.1.0.tar.gz

Download URL cpp_langchain-0.1.0.tar.gz
Size 19.4 kB
Tags Source
SHA-256 checksum
How to use checksums
b19c5f79c023e43ead239f2adc1009cc16d6e1eaff3e1c9a8e38ffdc3b26ca80
BLAKE2b-256 checksum
How to use checksums
0845a9b7e7af2bb76036ab6fc307c93ac8d175004c6e8c21039c3e8c1d053dc0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.10.12

Release files / cpp_langchain-0.1.0-py3-none-any.whl

Download URL cpp_langchain-0.1.0-py3-none-any.whl
Size 14.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e5846092da5f8773fef6f5ea6739d7eaac4d0a9b8b7d251eb25601f265fae4ee
BLAKE2b-256 checksum
How to use checksums
dba62bbc97cb0c97a606472ca3f5688aa4401907afe9e66be7c3bd8754c7a55f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.10.12

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page