Metadata-Version: 2.4
Name: packmon
Version: 1.0.0
Author-email: Mindiell <tool-caddy@mindiell.net>
License-Expression: GPL-3.0-or-later
Project-URL: Homepage, https://framagit.org/tool-caddy/packmon
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Quality Assurance
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: dev
Requires-Dist: black; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Dynamic: license-file

# Packmon

Packmon (Package Monitoring) is a cli tool to monitor aging python packages in order to
see if some become outdated.


## Philosophy

As a simple monitoring tool, packmon is pure-python in order to simplify its use.


## Usage

1. Install packmon globally on your system
2. Use it to detect obsolescence and vulnerabilities in any of your project (virtual
    environment or not)


### Example

Local installation for now:

    pip install packmon

Then use it:

    packmon myproject/requirements.txt

or

    pip freeze |packmon

event through pipes:

    curl -s https://raw.githubusercontent.com/AFPy/Potodo/master/requirements.txt |packmon

Result :

![sample](https://framagit.org/tool-caddy/packmon/-/raw/main/media/sample.png)


### Options

#### Cache management

Those options help you managing packages informations from packmon's cache. Cache file
is stored into **HOME_USER/.packmon/packmon.json**.

##### clear-cache

Empty cache file before any update.

##### update-cache

Forces updating of each package from cache.

##### no-cache

Does not use cache when using packmon. With this option set, each package will call pypi
to retrieve its informations. Cache won't be modified.

##### no-update

Does not try to refresh a package information, even if it's too old.

#### Output management

##### quiet

With this option set, packmon will write nothing on the standard output (errors will
still be displayed using error output though).

##### only-problems

This option will limit the results only to problematic packages.

#### CI compatibility

##### ci

With this option set, packmon will return a value corresponding to the number of
packages outdated (max 127).
