Skip to main content

Exa - Pytorch

Project description

Multi-Modality

Python Package Template

A easy, reliable, fluid template for python packages complete with docs, testing suites, readme's, github workflows, linting and much much more

Installation

You can install the package using pip

pip install -e .

Structure

├── LICENSE
├── Makefile
├── README.md
├── agorabanner.png
├── example.py
├── package
│   ├── __init__.py
│   ├── main.py
│   └── subfolder
│       ├── __init__.py
│       └── main.py
├── pyproject.toml
└── requirements.txt

2 directories, 11 files

Usage

Documentation

Code Quality 🧹

We provide two handy commands inside the Makefile, namely:

  • make style to format the code
  • make check_code_quality to check code quality (PEP8 basically)

So far, there is no types checking with mypy. See issue.

Tests 🧪

pytests is used to run our tests.

Publish on PyPi 🚀

Important: Before publishing, edit __version__ in src/init to match the wanted new version.

We use twine to make our life easier. You can publish by using

export PYPI_USERNAME="you_username"
export PYPI_PASSWORD="your_password"
export PYPI_TEST_PASSWORD="your_password_for_test_pypi"
make publish -e PYPI_USERNAME=$PYPI_USERNAME -e PYPI_PASSWORD=$PYPI_PASSWORD -e PYPI_TEST_PASSWORD=$PYPI_TEST_PASSWORD

You can also use token for auth, see pypi doc. In that case,

export PYPI_USERNAME="__token__"
export PYPI_PASSWORD="your_token"
export PYPI_TEST_PASSWORD="your_token_for_test_pypi"
make publish -e PYPI_USERNAME=$PYPI_USERNAME -e PYPI_PASSWORD=$PYPI_PASSWORD -e PYPI_TEST_PASSWORD=$PYPI_TEST_PASSWORD

Note: We will try to push to test pypi before pushing to pypi, to assert everything will work

CI/CD 🤖

We use GitHub actions to automatically run tests and check code quality when a new PR is done on main.

On any pull request, we will check the code quality and tests.

When a new release is created, we will try to push the new code to PyPi. We use twine to make our life easier.

The correct steps to create a new realease are the following:

  • edit __version__ in src/init to match the wanted new version.
  • create a new tag with the release name, e.g. git tag v0.0.1 && git push origin v0.0.1 or from the GitHub UI.
  • create a new release from GitHub UI

The CI will run when you create the new release.

Docs

We use MK docs. This repo comes with the zeta docs. All the docs configurations are already here along with the readthedocs configs

Q&A

Why no cookiecutter?

This is a template repo, it's meant to be used inside GitHub upon repo creation.

Why reinvent the wheel?

There are several very good templates on GitHub, I prefer to use code we wrote instead of blinding taking the most starred template and having features we don't need. From experience, it's better to keep it simple and general enough for our specific use cases.

Architecture

License

MIT

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

exxa-0.0.1.tar.gz (3.9 kB view details)

Uploaded Source

Built Distribution

exxa-0.0.1-py3-none-any.whl (3.9 kB view details)

Uploaded Python 3

File details

Details for the file exxa-0.0.1.tar.gz.

File metadata

  • Download URL: exxa-0.0.1.tar.gz
  • Upload date:
  • Size: 3.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.11.0 Darwin/22.4.0

File hashes

Hashes for exxa-0.0.1.tar.gz
Algorithm Hash digest
SHA256 ef4b0dbb4b650f73fbfd71f1f1bb0c2f8b07ca024ce6257cc455f841b82843bc
MD5 36422f48ae3b91ae8fd0d10c8b841a71
BLAKE2b-256 ba98a6a21bc788d47cacf6095eae5763d95666d85825f495872eb146699ab236

See more details on using hashes here.

File details

Details for the file exxa-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: exxa-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 3.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.11.0 Darwin/22.4.0

File hashes

Hashes for exxa-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 66b72e9e90a382afc51b6e0ca8af2761d4d1750c602a21f70d3f2ddaa095b8d0
MD5 8263c9263a92f8b66df9cf5902776a0e
BLAKE2b-256 7b87a9d7d9246fb576398a8d2581616081edf7caa717ad310909708c067e15db

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page