Like Node.js's require(), but with more supported file formats.
- Importing modules from higher folders;
- Loading JSON, Toml, YAML and BSON files natively;
- Easily extensible.
Install base module:
# Linux / MacOS
python3 -m pip install -U node-require
# Windows
py -3 -m pip install -U node-requireorjson: Faster JSON decoding;ujson: Alternarive fororjson;toml: Support for Toml;yaml: Support for YAML;bson: Support for BSON.
You can install all of the language support dependencies at once with "node-require[all_langs]".
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
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) != NoneSee guide on this