Skip to main content

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 - according to Node.js specification.

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.

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.6.tar.gz (11.6 kB view details)

Uploaded Source

Built Distribution

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

easypackage-0.1.6-py2-none-any.whl (19.7 kB view details)

Uploaded Python 2

File details

Details for the file easypackage-0.1.6.tar.gz.

File metadata

  • Download URL: easypackage-0.1.6.tar.gz
  • Upload date:
  • Size: 11.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for easypackage-0.1.6.tar.gz
Algorithm Hash digest
SHA256 4a7be2940958a8f2b154cc6c6acf2860564418c241bbe4610ff9f97427ae1f70
MD5 f076eae03e85a8be70560d770cb28c75
BLAKE2b-256 3fa1941963f4f2b638ddbb09d9fadd9817e15715f1694bd76c112b0ba676cbf1

See more details on using hashes here.

File details

Details for the file easypackage-0.1.6-py2-none-any.whl.

File metadata

File hashes

Hashes for easypackage-0.1.6-py2-none-any.whl
Algorithm Hash digest
SHA256 bce997a5a50dae0b1b0847f24dcacdf0d91c224c78e5e4c7a6a0ece08915d0c3
MD5 c9ad83a17e83161f3907f2d04f19fdd4
BLAKE2b-256 6bfa5dcd1e4c9c55b5363d26ca45d3998eddb709acad523a5eef7d30b7b50ecf

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.8

2 files

0.1.7

2 files

This release

0.1.6 This release

2 files

0.1.5

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page