Skip to main content

Python packages - the simple way.

Project description

Easy Package - for Python Build Status

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

easypackage-0.1.7.tar.gz (11.9 kB view hashes)

Uploaded Source

Built Distribution

easypackage-0.1.7-py2-none-any.whl (19.9 kB view hashes)

Uploaded Python 2

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