Skip to main content

A simple sample of a Python package prototype

Project description

This package contains a simple sample of a Python package prototype. It is part of the educational repositories to learn how to write stardard code and common uses of the TDD.

See the documentation and how to do it on readthedocs. And see the development of this code step by step

Installation

The package is self-consistent. So you can download the package by github:

$ git clone https://github.com/bilardi/python-prototype

Or you can install by python3-pip:

$ pip3 install simple_sample

Usage

Read the unit tests in tests/test_my_class.py file to use it. This is a best practice. You can read also the documentation by command line,

$ python3
>>> from simple_sample.my_class import MyClass
>>> print(MyClass.__doc__)
>>> help(MyClass)
>>> quit()

If you want to see the local documentation, that you have downloaded by github, you can use the same steps but before you must to change the directory

$ cd python-prototype

Development

See readthedocs / howtomake for environment setup, testing, pre-commit hooks, conventional commits, versioning and packaging.

See readthedocs / refactoring for how this project moved from unittest / setup.py to pytest / pyproject.toml.

Project structure

simple_sample/  # the package source
    __init__.py  # package metadata and version
    my_class.py  # example class: inherits from interface and abstract
    my_class_abstract.py  # abstract class
    my_class_interface.py  # interface class
tests/  # pytest test files
docs/source/  # sphinx documentation (published on readthedocs)
pyproject.toml  # deps, ruff, pyright, bumpversion, git-cliff
Makefile  # targets for test, build, release
.pre-commit-config.yaml  # ruff + pytest hooks
CHANGELOG.md  # generated by git-cliff

Change Log

See CHANGELOG.md for details. This file is updated by Makefile command:

$ make changelog

See the Versioning management section in howtomake for how to bump the version and release: the same page also shows how to install the dependencies first.

Blog post

License

This package is released under the MIT license. See LICENSE for details.

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

simple_sample-1.5.3.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

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

simple_sample-1.5.3-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

Details for the file simple_sample-1.5.3.tar.gz.

File metadata

  • Download URL: simple_sample-1.5.3.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for simple_sample-1.5.3.tar.gz
Algorithm Hash digest
SHA256 223b6fa6e8e25d8d22d168b24edce4e0980d110b2289edb0ce2bd2e0282c91a1
MD5 8f74ff43273d61d28cd497e0144b43d7
BLAKE2b-256 e719c333241473957bced716d7cdce1de7c3a5c438331c22c5a8b4ee0aa094d5

See more details on using hashes here.

File details

Details for the file simple_sample-1.5.3-py3-none-any.whl.

File metadata

  • Download URL: simple_sample-1.5.3-py3-none-any.whl
  • Upload date:
  • Size: 10.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for simple_sample-1.5.3-py3-none-any.whl
Algorithm Hash digest
SHA256 58bccfd6b512e094cae085ee274ab8c887aa3b07fe47df6390c895c1d5dd4429
MD5 59976c7fc7acf3313cbb639a904f60f8
BLAKE2b-256 b7e0be9b56bed02c18769760356477c3049d049a4b020f7ee20abfccf111df9b

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