Like Node.js's require(), but with more supported formats
Project description
node-require
Like Node.js's require(), but with more supported file formats
Features
- Importing modules from higher folders
- Loading JSON, Toml, YAMl and BSON files natively
- Easily extensible
Installing
Install base module:
# Linux / MacOS
python3 -m pip install -U require
# Windows
py -3 -m pip install -U require
Optional Dependencies
orjson
: Faster JSON decodingujson
: Alternarive fororjson
toml
: Support for Tomlyaml
: Support for YAMLbson
: Support for BSON
Quick notes
This lib does not support importing builtin modules or site-packages (modules installed with pip).
Consider using usual import
, or if you need a dynamic import, use Python's builtin importlib.import_module
Usage
Yeah, that's bad example, but i'm can't come up with a best one..
Example directory structure:
src/
tests/
test.py
config.json
regex.py
main.py
src/main.py
:
import os
import importlib
for file in os.listdir('./tests'):
if file.endswith('.py'):
importlib.import_module(f'tests.{file[:-3]}').run()
src/regex.py
:
import re
PWD = re.compile("[a-zA-Z0-9_\.]{12,16}")
src/config.json
:
{
"user": {
"name": "Jonh",
"password": "Fluffy_Gim19"
}
}
src/tests/test.py
:
from require import require
password_pattern = require('../regex.py').PWD
password = require('../config.json')['user']['password']
def run():
assert password_pattern.match(password) != None
Extending
See guide on this
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
node_require-2.0.0.tar.gz
(4.6 kB
view hashes)
Built Distribution
Close
Hashes for node_require-2.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a459943eb5fb981cf335c788008bf6fb39248c022056eafa63b705a4ed9d8c1 |
|
MD5 | e44eb64b74410e99bbceeebb3de42d65 |
|
BLAKE2b-256 | d48209239b47aed9a9e027c78b63027376615e5a092610c351bf564950c74477 |