Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A template repo for Python packages

License

NotificationsYou must be signed in to change notification settings

allenai/python-package-template

Repository files navigation

This is a template repository for Python package projects.

In this README 👇

Features

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

⚙️ Robust (and free) CI withGitHub Actions:

  • Unit tests ran withPyTest against multiple Python versions and operating systems.
  • Type checking withmypy.
  • Linting withruff.
  • Formatting withisort andblack.

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

📄 Great looking API documentation built usingSphinx (runmake docs to preview).

🚀 Automatic GitHub and PyPI releases. Just follow the steps inRELEASE_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 onPyPI 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 usingMiniconda. On a Mac, for example, you can install Miniconda usingHomebrew:

    brew install miniconda

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

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

    pip install -r setup-requirements.txtpython scripts/personalize.py

    And then follow the prompts.

    📝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 forPYPI_USERNAME andPYPI_PASSWORD. To add these, go to "Settings" > "Secrets" > "Actions", and then click "New repository secret".

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

  6. (Optional) If you want to deploy your API docs toreadthedocs.org, go to thereadthedocs 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 toyour-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 inRELEASE_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 thedocs/ directory and therelease job in.github/workflows/main.yml.

Contributing

If you find a bug 🐛, please open abug report.If you have an idea for an improvement or new feature 🚀, please open afeature request.

About

A template repo for Python packages

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors11


[8]ページ先頭

©2009-2025 Movatter.jp