Metadata-Version: 2.4
Name: deprive
Version: 0.3.0
Summary: Generate dependency graphs and modify Python packages based on the generated graphs.
Author-email: Tim Hörmann <pypi@audivir.de>
License-Expression: MIT
Project-URL: Homepage, https://github.com/audivir/deprive
Project-URL: Repository, https://github.com/audivir/deprive
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: libcst
Provides-Extra: dev
Requires-Dist: ruff; extra == "dev"
Requires-Dist: mypy; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Requires-Dist: coverage[toml]; extra == "dev"
Requires-Dist: vulture; extra == "dev"
Dynamic: license-file

# Deprive

# Installation

```bash
pip install deprive
```

# Disabled Python Features
If one of the disabled features is used, a `NotImplementedError` will be raised:
1. Star imports (e.g., `from module import *`).
2. Redefining imports (independent of the scope).
3. Multiple statements per line (e.g., `a = 1; b = 2`).

# Discouraged Python Features
These following features don't raise any warning or errors, but the correctness of the output is not guaranteed:
1. `importlib.import_module`, `__import__`, `eval`, `exec`, or similar dynamic functions.
2. Overwriting built-in functions.
3. Assigning functions to variables.
4. Namespace packages (e.g., no `__init__.py` in a package).

# Changelog

## 0.3.0
- Add attributes of imports to the dependency graph.

## 0.1.2 - Initial Release
- Initial implementation of the deprive library.
- Support for parsing Python files and generating dependency graphs.
- Codes needs to be cleaned up and refactored.

# TODO:
- parse type annotations
- add tests for handler, and add a enum or similar to the _assets proj
