Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Dhall is a programmable configuration language optimized for maintainability.
You can think of Dhall as: JSON + functions + types + imports
Note that while Dhall is programmable, Dhall is not Turing-complete. Many of Dhall's features take advantage of this restriction to provide stronger safety guarantees and more powerful tooling.
You can try the language live in your browser by visiting the official website:
dhall-python
dhall-python
contains Dhall bindings for Python using the
rust implementation. It is meant to be used to integrate Dhall
into your python applications.
If you only want to convert Dhall to/from JSON or YAML, you should use the official tooling instead; instructions can be found here.
Install using pip:
pip install dhall
Supports the following:
Python 3.5 and 3.6 support is available in older versions of dhall-python.
dhall-python implements a similar API to Python's json module:
>>> import dhall
>>> dhall.dumps({"keyA": 81, "keyB": True, "keyC": "value"})
'{ keyA = 81, keyB = True, keyC = "value" }'
>>> dhall.loads("""{ keyA = 81, keyB = True, keyC = "value" }""")
{'keyA': 81, 'keyB': True, 'keyC': 'value'}
dhall-python is licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in python-dhall by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
All contributions are welcome! If you spot any bugs, or have any requests, issues and PRs are always welcome.
This project uses poetry for managing the development environment. If you don't have it installed, run
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python
export PATH="$HOME/.poetry/bin:$PATH"
The project requires the latest stable
version of Rust.
Install it via rustup
:
rustup install stable
If you have already installed the stable
version, make sure it is up-to-date:
rustup update stable
After that, you can compile the current version of dhall-python and execute all tests and benchmarks with the following commands:
make install
make test
🤫 Pssst!... run make help
to learn more.
FAQs
Python bindings for dhall, a functional configuration language
We found that dhall demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.