a small package for enforcing package requirements at the class- or function-level
Project description
version number: “0.1.0”
author: Max Lee
Overview
force-dependencies is a small package for enforcing package requirements at the class- or function-level.
Simply use:
from force_deps import requires, requires_any, requires_all
@requires("sqlalchemy")
class SQLHandler(object):
def __init__(self):
pass
db = SQLHandler()
Traceback (most recent call last):
...
ImportError: You must import `sqlalchemy` in order to run `SQLHandler`
to require users to have a package installed in order to use your class or function,
@requires_any(["sqlalchemy", "sqlite3"])
...
to require that users have at least one of a number of packages installed, or
@requires_all(["sqlalchemy", "pandas"])
...
to require that users have all of a number of packages installed in order to use a class or function.
Finally, you can combine the decorators together in pretty much any way you please:
@requires_any(["sqlalchemy", "sqlite3"])
@requires("pandas")
...
Installation / Usage
This library requires Python>=3.5. You should be able to extend its
compatibility by removing the dependencies
on Python’s typing libraries.
To install use pip:
$ pip install force_deps
Or clone the repo:
$ git clone https://github.com/maxblee/force_deps.git
$ python setup.py install
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
force_deps-0.1.0.tar.gz
(3.5 kB
view hashes)
Built Distribution
Close
Hashes for force_deps-0.1.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98340b5e29934eec854a99e07f64fd32a5d3d6073a12671c7c4520bb688c8cd9 |
|
MD5 | fb8f4a9eca8de7ea1bfb1b592c704b58 |
|
BLAKE2b-256 | d2291a5bcb045642c05b4cca211f39c22a907e5cf8c755bfc7496618b8d0ea6e |