Metadata-Version: 2.1
Name: loose-dependency-manager
Version: 0.2.1
Summary: Tool for managing code dependencies in a loosely-coupled way.
License: MIT
Author: 01Joseph-Hwang10
Author-email: joseph95501@gmail.com
Requires-Python: >=3.8.1,<4.0
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
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 :: Only
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Utilities
Requires-Dist: click (>=8.1.7,<9.0.0)
Requires-Dist: colorama (>=0.4.6,<0.5.0)
Requires-Dist: git-remote-get (>=0.3.1,<0.4.0)
Requires-Dist: httpx (>=0.27.0,<0.28.0)
Requires-Dist: pydantic (>=2.7.1,<3.0.0)
Requires-Dist: yaml-replace (>=1.1.2,<2.0.0)
Description-Content-Type: text/markdown

# `ldm`: Loose Dependency Manager

[![PyPI version](https://badge.fury.io/py/loose-dependency-manager.svg)](https://pypi.org/project/loose-dependency-manager)
[![Testsuite](https://github.com/01Joseph-Hwang10/loose-dependency-manager/workflows/Test%20and%20Lint/badge.svg)](https://github.com/01Joseph-Hwang10/loose-dependency-manager/actions?query=workflow%3A"Test+and+Lint")
[![Python version](https://img.shields.io/pypi/pyversions/loose-dependency-manager.svg)](https://pypi.org/project/loose-dependency-manager)
[![Project Status](https://img.shields.io/pypi/status/loose-dependency-manager.svg)](https://pypi.org/project/loose-dependency-manager/)
[![Supported Interpreters](https://img.shields.io/pypi/implementation/loose-dependency-manager.svg)](https://pypi.org/project/loose-dependency-manager/)
[![License](https://img.shields.io/pypi/l/loose-dependency-manager.svg)](https://github.com/pawelzny/loose-dependency-manager/blob/master/LICENSE)


Loose Dependency Manager (or `ldm` in short) is a tool for managing code dependencies in a loosely-coupled way.

## Quick Start

First, install `loose-dependency-manager`:

```bash
pip install loose-dependency-manager
```

Then, create a `ldm.yml` file in the root of your project:

```yaml
schemes:
  lodash:
    uses: github
    with:
      url: https://github.com/lodash/lodash
      ref: main

dependencies:
  clamp: lodash:///src/clamp.ts -> src/utils/clamp.ts
  reset.css: |
    https://cdn.jsdelivr.net/npm/reset-css@5.0.2/reset.min.css
    -> src/styles/reset.css

config:
  parallel:
    workers: 8
```

Finally, run `ldm install` to install the dependencies

```bash
ldm install
```

> [!NOTE]
> You can also run `ldm install [...dependencies]` to install specific dependencies.
>  
> ```bash
> ldm install clamp
> ```

## API Documentation

> TODO: description

## Contributing

Any contribution is welcome! Check out [CONTRIBUTING.md](https://github.com/01Joseph-Hwang10/loose-dependency-manager/blob/master/.github/CONTRIBUTING.md) and [CODE_OF_CONDUCT.md](https://github.com/01Joseph-Hwang10/loose-dependency-manager/blob/master/.github/CODE_OF_CONDUCT.md) for more information on how to get started.

## License

`ldm` is licensed under a [MIT License](https://github.com/01Joseph-Hwang10/loose-dependency-manager/blob/master/LICENSE).
