Skip to main content

The official Python library for the Spooky HumanAPI

Project description

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 my-package python=3.9
    conda 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.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.

https://packaging.python.org/en/latest/tutorials/packaging-projects/

https://medium.com/analytics-vidhya/how-to-create-a-python-library-7d5aea80cc3f

Build

  1. Increment Version in pyproject.toml
  2. Run 'python3 -m build'
  3. Run 'python3 -m twine upload dist/*'

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

spookyai-0.1.28.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

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

spookyai-0.1.28-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

Details for the file spookyai-0.1.28.tar.gz.

File metadata

  • Download URL: spookyai-0.1.28.tar.gz
  • Upload date:
  • Size: 8.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.1

File hashes

Hashes for spookyai-0.1.28.tar.gz
Algorithm Hash digest
SHA256 c0f0149709e146920d31a8831743aea5e4eea016b0792e6dfb7f05bdf0cb0fbb
MD5 040a91dff6e23b9c84b6ae06d15cd4d3
BLAKE2b-256 b8a759041cb09d7aab3b46e848c0aa4e237c17b258ebf52e9f512402b949d343

See more details on using hashes here.

File details

Details for the file spookyai-0.1.28-py3-none-any.whl.

File metadata

  • Download URL: spookyai-0.1.28-py3-none-any.whl
  • Upload date:
  • Size: 6.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.1

File hashes

Hashes for spookyai-0.1.28-py3-none-any.whl
Algorithm Hash digest
SHA256 eaa04ee7c9ea1148c1ca7a5809e45af73e203843588ba7733d1085acc9abddd8
MD5 f8ead9d849fb47d707782dfcf29bdef4
BLAKE2b-256 7ba9f24341c7b31207ea855660e67aa3a92a46e5f9596133b1d6ec7ad30323a3

See more details on using hashes here.

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