Skip to main content

Core modelling framework components for the e2e package ecosystem

Project description

e2e.common

Common code for the Python E2E package ecosystem.

This package complies with PEP-484, PEP-526, and PEP-561 for distribution of type information.

Core Modules

e2e.common.modelling: Object-based Modelling Framework

A modelling framework is provided by modelling.NamedParentable, using metaclass construction to stitch instance parents together in a class-based modelling approach.

For examples on how this is used, please see e2e.pom or e2e.api, as both packages use this modelling approach as of their 1.x releases.

For the 1.0 release, only NamedParentable is provided and requires users to explicitly name instances of models for best-possible human-friendly logging.

For the 2.0 release, options will exist for auto-naming and omission of the naming requirement. Stay tuned.

e2e.common.utils: General Utility Functions

Generalised utility functions reside in here. To reside here, they must be used by more than one e2e.* package.

Compatibility

Python 3.6+ is required due to various metaclass and type-hinting functinality used. Backporting to 3.5 is possible with more significant effort and potential loss of certain features and type-hinting; please file an issue if you require this, explaining the motivation if possible.

Other than that, this is a pure Python package and should be compatible with any OS and platform which Python runs on.

Contributing & Development

I haven’t put much thought into others contributing here. Please reach out if there are changes you’d like to make!

The Makefile (which has only been tested on Linux distros) holds my development process:

  • make format: to run black and isort formatters

  • make lint: to run mypy (type check), pylint, and flake8

  • make test: to run unit tests

  • make tox: to run unit tests on multiple Python versions

  • make wheel and make sdist: to build such package archives

Otherwise, this is a fairly standard package repo using virtual environments and setup.py.

Note that the build environment (no unnecessary packages) is different from the development environment (contains all packages for development).

Changelog

0.1.3 (2020-10-16)

  • Fixed an issue where importing the library would result in no child modules being available.

0.1.2 (2020-07-22)

  • Better PyPI rendering

0.1.1 (2020-07-22)

  • Initial release, including class-based modelling framework.

Copyright 2017-2020 Nicholas Kroeker

Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

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

e2e.common-0.1.3.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

e2e.common-0.1.3-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file e2e.common-0.1.3.tar.gz.

File metadata

  • Download URL: e2e.common-0.1.3.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.1 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.6.9

File hashes

Hashes for e2e.common-0.1.3.tar.gz
Algorithm Hash digest
SHA256 b2615cbf192f7093d215b6922b032ac474e4f81bdcaa11ea6ab4fb881f1eab43
MD5 d175c59bc4a15cce150f48e0b94bee85
BLAKE2b-256 68dd412d483f0dd61e4b89de51f9e392812c97369ee98807dda1ac1d5f6d68bb

See more details on using hashes here.

File details

Details for the file e2e.common-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: e2e.common-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 7.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.1 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.6.9

File hashes

Hashes for e2e.common-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b4a61ef11bd57d62a5697f0ff657f0d9f4f58d678dadc5bbd97101b05156da27
MD5 c9e2de4ebf685c299396f001732c03e3
BLAKE2b-256 c108dbedaa2b61267e13fe486373e639480b28b1d10c13fa0244e1cf3c3362ce

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