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.5.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.5-py2-none-any.whl (19.7 kB view details)

Uploaded Python 2

File details

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

File metadata

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

File hashes

Hashes for easypackage-0.1.5.tar.gz
Algorithm Hash digest
SHA256 b27ad1131f17727e29ae29cb863bf5a8b2cf33a4160a4d484dc9a6bd62a8bdba
MD5 1c1ae2da5e478242ff0bc1accb667b1a
BLAKE2b-256 7addaee8996391b2760f961b3330c65fef3fd6c363645774d04feeea05cc2cf9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for easypackage-0.1.5-py2-none-any.whl
Algorithm Hash digest
SHA256 3fa59216a1d33140cc1ff848b94f2d57a5e94de6cb52cc023123f68da9896065
MD5 e1cc53407d5375542ba74b63edc06308
BLAKE2b-256 329d45ba26a2dcc5b7f7293a7cd52767fd5272ae25f9e1f39c12afe781ae411d

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.8

2 files

0.1.7

2 files

0.1.6

2 files

This release

0.1.5 This release

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