sigmaepsilon.core - Common developer utilities for Python projects — sigmaepsilon.core v0.0.1 documentation

Skip to main content
`Ctrl`+`K`

# sigmaepsilon.core - Common developer utilities for Python projects

The package contains some usefull stuff for general Python development activites that turned out to be highly reusable during developing projects in the SigmaEpsilon namespace.

Some of the most notable contents:

- Metaprogramming

  - A collection of meta and abstract base classes.

  - A `classproperty` decorator.

  - A solution to enforce abstract class properties on a class.

- Wrapping

  - An extendible `Wrapper` class and a few factory functions to help you safely wrap objects.

## Documentation

The documentation is hosted on ReadTheDocs.

## Installation

`sigmaepsilon.core` can be installed (either in a virtual enviroment or globally) from PyPI using `pip` on Python >= 3.7:

    >>> pip install sigmaepsilon.core

or chechkout with the following command using GitHub CLI

    gh repo clone sigma-epsilon/sigmaepsilon.core

and install from source by typing

    >>> pip install .

If you want to run the tests, you can install the necessary optional dependencies like this

    >>> pip install ".[test]"

### For developers

For development purposes, it is suggested to install the package in editable mode, with the optional dependencies for both testing, development and documentation

    >>> pip install -e ".[test, dev, docs]"

## Testing

To run the tests, run the following command in the root of the project:

    >>> pytest

## License

This package is licensed under the MIT license. See the attached LICENSE file for the details.

# Contents

- API Reference
  - Metaprogramming
  - Class properties
  - Wrapping
  - Infix Operators
  - Formatting

# Indices and tables

- Index

- Module Index

- Search Page