Skip to main content

Say hello!

Project description

Python Package Example

This repository contains a basic python package example with the aim of showing how a good python package should look like.

Install:

pip install helloworld-mkmenta

Install locally:

git clone https://github.com/mkmenta/python-package-example.git
cd python-package-example
pip install -e .

Usage

You will find an usage example here.

Developing

To install the package along with the tools you need to develop it run the following (local installation with the "dev" extras:

git clone https://github.com/mkmenta/python-package-example.git
cd python-package-example
pip install -e ."[dev]"

If you are developing, you should run pip install -e . every time you change setup.py or the dependencies etc. to make sure that everything works.

A note about requirements

The requirements needed to run the package should go in the install_requires argument of setup() in the setup.py.

The requirements needed to develop the package should go in the extras_require argument dict (under the "dev" key) of setup() in the setup.py.

This is preferred to a requirements.txt file, because this is code and it can be understood directly during the installation of the package itself.

The requirements.txt should be used to recreate enviroments with specific versions (e.g.requests==2.22.0), not to share software.

Documentation

This project has a documentation in readthedocs.io generated using sphinx: documentation.

Find the tutorial on how it was created here.

Building and distribution

Build without installi i.e. build wheel:

python3 setup.py bdist_wheel

Source distribution:

python3 setup.py sdist

For the source distribution, remember to:

  • Check out the warnings of python3 setup.py sdist.
  • Check that every file from the repo is packed in the tar file (tar tzf dist/helloworld-X.X.X.tar.gz) as written in the MANIFEST.in. A useful tool is check-manifest.

Uploading to PyPI

python3 setup.py bdist_wheel sdist
twine upload dist/*

Other useful stuff

  • This repo is prepared for PyCharm and it has some run configurations (in .idea/runConfigurations).

References

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

helloworld-mkmenta-0.0.3.tar.gz (4.8 kB view hashes)

Uploaded source

Built Distribution

helloworld_mkmenta-0.0.3-py3-none-any.whl (3.9 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page