Python packages - the simple way.
Project description
Easy Package - for Python
Python packages - the simple way.
Background
Had to code Python so ended up abstracting out these Python package related utilities to be able to deal with Python packages which is in a sad state in comparison to most other language environments.
Features
-
Easy package setup scripts - because manual Python
setup.py
scripts breaks "convention of over configuration" principle, as well as a bunch of other software design patterns. -
Easy package (system) load paths - because package imports and load paths in Python makes adults cry.
-
Easy package tag/release - because package tag/release management should not be done by hand, fallback on conventions.
Install
Install using pip:
pip install easypackage
Usage
How to to make use of easypackage
in various ways:
Required
Create a package.json
in package root folder (e.g. mypackage
) - see Node.js specification, in lack of such for Python.
Easy package setup
In file setup.py
in package project root:
import sys
from easypackage import setup as easysetup
easysetup.setup('mypackage', argv = sys.argv)
Your package is now installable using pip
et. al. that support the Python packagesetup.py
script convention, i.e.:
pip install .
Easy package load paths
In any package source file:
# e.g. `~/dev/projects/mypackage/foo/foo.py`
def hello:
print('hello!')
In any other package source file:
# e.g. `~/dev/projects/mypackage/bar/bar.py`
from easypackage import syspath as easysyspath
# add `~/dev/projects/mypackage` to Python system path unless already added
easysyspath.syspath()
from mypackage.utils.foo import foo
foo.hello()
And so on.
Easy package tag/release (WIP/TBA)
In file release.py
in package project root:
from easypackage import release as easyrelease
easyrelease.release()
To tag/release a new version to Git, simply add/update a valid semver version tag in package.json
- according to Node.js specification - and then run python release.py
.
Currently not submitted to any Python package register, but will probably be added soon.
License
Released under the MIT 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
Built Distribution
Hashes for easypackage-0.1.7-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c0040f96bd9651addd1d6a76476dd7b1fa45053ad94f4d1a05bcbba4aab163c6 |
|
MD5 | 1562d09f2732242dacd1e6d7c9c27b11 |
|
BLAKE2b-256 | 86d2763c32c4e044dbeac08bd1551f6f64889a951cbce8b42152cf7bb29e6a06 |