ams-compose


Nameams-compose JSON
Version 0.0.0 PyPI version JSON
download
home_pageNone
SummaryDependency management tool for analog/mixed-signal IC design repositories
upload_time2025-07-29 03:54:08
maintainerNone
docs_urlNone
authorams-compose contributors
requires_python>=3.8
licenseMIT
keywords analog mixed-signal ams ic design dependency management eda
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # ams-compose

Dependency management tool for analog IC design repositories that enables selective import of IP libraries without copying entire repository structures.

## Overview

ams-compose solves the problem of fragmented analog IP libraries by allowing selective import of specific libraries from repositories without copying unwanted boilerplate code.

### Key Features

- **Selective Library Import**: Extract only the IP libraries you need from any path within a repository
- **Version Control**: Pin to specific branches, tags, or commits
- **Smart Install Logic**: Skip libraries that don't need updates
- **Clean Workspaces**: Automatically filter out VCS directories, development files, and OS artifacts
- **License Tracking**: Monitor license compliance across imported libraries

### Target Environment

Designed for open source IC toolchains, specifically the IIC-OSIC-TOOLS Docker container environment.

## Installation

Install directly from GitHub:

```bash
pip install git+https://github.com/Jianxun/ams_compose.git
```

Or install from source for development:

```bash
git clone https://github.com/Jianxun/ams_compose.git
cd ams_compose
pip install -e .
```

## Quick Start

1. Initialize a new project:

```bash
ams-compose init
```

2. Edit the generated `ams-compose.yaml` configuration file:

```yaml
# Default directory where libraries will be installed
library-root: designs/libs

# Library imports - add your dependencies here
imports:
  gf180mcu_fd_sc_mcu9t5v0_symbols:
    repo: https://github.com/peterkinget/gf180mcu_fd_sc_mcu9t5v0_symbols
    ref: main
    source_path: .
    
  designinit:
    repo: https://github.com/Jianxun/iic-osic-tools-project-template
    ref: main
    source_path: designs/.designinit
    local_path: designs/.designinit  # optional: override library-root location
```

3. Install libraries:

```bash
ams-compose install
```

## Commands

- `ams-compose init` - Initialize a new ams-compose project
- `ams-compose install [LIBRARIES...]` - Install libraries from ams-compose.yaml
  - `--force` - Force reinstall all libraries (ignore up-to-date check)
  - `--auto-gitignore` - Automatically add .mirror/ to .gitignore (default: enabled)
- `ams-compose list` - List installed libraries
  - `--detailed` - Show detailed library information
- `ams-compose validate` - Validate ams-compose.yaml configuration and installation state
- `ams-compose clean` - Clean unused mirrors, orphaned libraries, and validate installation

## Configuration

The `ams-compose.yaml` file supports the following structure:

```yaml
library-root: designs/libs  # Default installation directory

imports:
  library_name:
    repo: https://github.com/user/repo  # Git repository URL
    ref: main                           # Branch, tag, or commit SHA
    source_path: path/in/repo          # Path within the repository to extract
    local_path: custom/path            # Optional: override library-root location
    license: MIT                       # Optional: license information
```

## License

MIT License

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "ams-compose",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "analog, mixed-signal, ams, ic, design, dependency, management, eda",
    "author": "ams-compose contributors",
    "author_email": null,
    "download_url": null,
    "platform": null,
    "description": "# ams-compose\n\nDependency management tool for analog IC design repositories that enables selective import of IP libraries without copying entire repository structures.\n\n## Overview\n\nams-compose solves the problem of fragmented analog IP libraries by allowing selective import of specific libraries from repositories without copying unwanted boilerplate code.\n\n### Key Features\n\n- **Selective Library Import**: Extract only the IP libraries you need from any path within a repository\n- **Version Control**: Pin to specific branches, tags, or commits\n- **Smart Install Logic**: Skip libraries that don't need updates\n- **Clean Workspaces**: Automatically filter out VCS directories, development files, and OS artifacts\n- **License Tracking**: Monitor license compliance across imported libraries\n\n### Target Environment\n\nDesigned for open source IC toolchains, specifically the IIC-OSIC-TOOLS Docker container environment.\n\n## Installation\n\nInstall directly from GitHub:\n\n```bash\npip install git+https://github.com/Jianxun/ams_compose.git\n```\n\nOr install from source for development:\n\n```bash\ngit clone https://github.com/Jianxun/ams_compose.git\ncd ams_compose\npip install -e .\n```\n\n## Quick Start\n\n1. Initialize a new project:\n\n```bash\nams-compose init\n```\n\n2. Edit the generated `ams-compose.yaml` configuration file:\n\n```yaml\n# Default directory where libraries will be installed\nlibrary-root: designs/libs\n\n# Library imports - add your dependencies here\nimports:\n  gf180mcu_fd_sc_mcu9t5v0_symbols:\n    repo: https://github.com/peterkinget/gf180mcu_fd_sc_mcu9t5v0_symbols\n    ref: main\n    source_path: .\n    \n  designinit:\n    repo: https://github.com/Jianxun/iic-osic-tools-project-template\n    ref: main\n    source_path: designs/.designinit\n    local_path: designs/.designinit  # optional: override library-root location\n```\n\n3. Install libraries:\n\n```bash\nams-compose install\n```\n\n## Commands\n\n- `ams-compose init` - Initialize a new ams-compose project\n- `ams-compose install [LIBRARIES...]` - Install libraries from ams-compose.yaml\n  - `--force` - Force reinstall all libraries (ignore up-to-date check)\n  - `--auto-gitignore` - Automatically add .mirror/ to .gitignore (default: enabled)\n- `ams-compose list` - List installed libraries\n  - `--detailed` - Show detailed library information\n- `ams-compose validate` - Validate ams-compose.yaml configuration and installation state\n- `ams-compose clean` - Clean unused mirrors, orphaned libraries, and validate installation\n\n## Configuration\n\nThe `ams-compose.yaml` file supports the following structure:\n\n```yaml\nlibrary-root: designs/libs  # Default installation directory\n\nimports:\n  library_name:\n    repo: https://github.com/user/repo  # Git repository URL\n    ref: main                           # Branch, tag, or commit SHA\n    source_path: path/in/repo          # Path within the repository to extract\n    local_path: custom/path            # Optional: override library-root location\n    license: MIT                       # Optional: license information\n```\n\n## License\n\nMIT License\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Dependency management tool for analog/mixed-signal IC design repositories",
    "version": "0.0.0",
    "project_urls": {
        "Homepage": "https://github.com/Jianxun/ams-compose",
        "Issues": "https://github.com/Jianxun/ams-compose/issues",
        "Repository": "https://github.com/Jianxun/ams-compose"
    },
    "split_keywords": [
        "analog",
        " mixed-signal",
        " ams",
        " ic",
        " design",
        " dependency",
        " management",
        " eda"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8b98f9ce13444f3b5b5a84718603003fba8924f04bb922210ad10415d061080e",
                "md5": "d16d98b2803bc016363fddc1bfd3e2b3",
                "sha256": "b2745476d9cc5e57eff697d47549f95649e62db50cb8365564c3f7833604823f"
            },
            "downloads": -1,
            "filename": "ams_compose-0.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d16d98b2803bc016363fddc1bfd3e2b3",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 24814,
            "upload_time": "2025-07-29T03:54:08",
            "upload_time_iso_8601": "2025-07-29T03:54:08.210312Z",
            "url": "https://files.pythonhosted.org/packages/8b/98/f9ce13444f3b5b5a84718603003fba8924f04bb922210ad10415d061080e/ams_compose-0.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-29 03:54:08",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Jianxun",
    "github_project": "ams-compose",
    "github_not_found": true,
    "lcname": "ams-compose"
}
        
Elapsed time: 1.43827s