moducomp


Namemoducomp JSON
Version 0.6.0 PyPI version JSON
download
home_pageNone
Summarymoducomp for computing metabolic module completeness and complementarity
upload_time2025-08-13 17:54:53
maintainerNone
docs_urlNone
authorNone
requires_python<3.12,>=3.9
licenseBSD 3-Clause License Copyright (c) 2025, NeLLi-team, Lawrence Berkeley National Laboratory Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
keywords bioinformatics kegg metabolic microbiome modules
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # `moducomp`: metabolic module completeness of genomes and metabolic complementarity in microbiomes

`moducomp` is a bioinformatics pipeline designed to identify and analyze metabolic module completeness and complementarity in microbial communities. It processes genomic data (protein sequences in FAA format) to map KEGG Orthology (KO) terms to KEGG modules, calculates module completeness for individual genomes and combinations of genomes within a microbiome, specifically reports potential complementary relationships where a metabolic module is 100% complete in a combination of N genomes but not in any individual member or smaller subset.

## Features

- Annotation of protein sequences using [`eggNOG-mapper`](https://github.com/eggnogdb/eggnog-mapper) to obtain KO terms.
- Mapping of KOs to KEGG metabolic modules based on [`kegg-pathways-completeness-tool`](https://github.com/EBI-Metagenomics/kegg-pathways-completeness-tool) to obtain metabolic module completeness.
- **Parallel processing support** for faster KPCT (KEGG Pathways Completeness Tool) analysis with automatic chunking and checkpointing.
- Reporting of module completeness for individual genomes.
- Calculation of module completeness for N-member genome combinations.
- Generation of complementarity reports highlighting modules completed through genome partnerships.
- Tracks and reports the actual proteins that are responsible for the completion of the module in the combination of N genomes.
- **Automatic resource monitoring** with timestamped logs tracking CPU usage, memory consumption, and runtime for reproducibility.

## Installation

`moducomp` uses [Pixi](https://pixi.sh/) for managing dependencies and environment setup. Pixi ensures that you have a consistent and reproducible environment.

1.  **Install Pixi**:
If you don't have Pixi installed, follow the instructions on the [official Pixi website](https://pixi.sh/latest/#installation).

```bash
curl -fsSL https://pixi.sh/install.sh | sh
```

2.  **Clone the Repository** (if you haven't already):
```bash
git clone https://github.com/NeLLi-team/moducomp.git
cd moducomp
```

3.  **Install Dependencies using Pixi**:
Navigate to the project's root directory (where `pixi.toml` is located) and run:
```bash
pixi install
```
This command will read the `pixi.toml` file, resolve the dependencies (including Python, eggNOG-mapper, kegg-pathways-completeness-tool, pandas, etc.), and set up a local environment in a `.pixi` subdirectory.

*Note on eggNOG-mapper data*: download the EggNOG-mapper DB that is required for functional annotation. This can be a large download and may take time. Ensure you have sufficient disk space and an internet connection:

```bash
pixi shell
export EGGNOG_DATA_DIR="/path/to/datadir/to/store/eggnog-db"
download_eggnog_data.py
```

Alternatively, you can configure eggNOG-mapper to use a pre-downloaded database.
```bash
export EGGNOG_DATA_DIR="/path/to/datadir/to/store/eggnog-db"
```

## Usage

`moducomp` provides two main commands: `pipeline` and `analyze-ko-matrix`. You can run these commands using Pixi tasks defined in `pixi.toml` or directly within the Pixi environment.

### Performance and parallel processing

`moducomp` includes **parallel processing capabilities** for the KPCT (KEGG Pathways Completeness Tool) analysis, which can significantly improve performance for large datasets:

- **Automatic chunking**: Input files are automatically split into chunks for parallel processing
- **Checkpointing**: Resume capability if processing is interrupted - already processed chunks are automatically detected and skipped
- **Fallback mechanism**: If parallel processing fails, the system automatically falls back to sequential processing
- **Configurable CPU usage**: Use the `--ncpus` parameter to control how many CPU cores to use

**CPU Configuration**:
- The `--ncpus` parameter controls the number of CPU cores used for both eggNOG-mapper annotation and KPCT analysis
- For KPCT parallel processing, the system creates the same number of chunks as CPU cores specified
- Example: `--ncpus 8` will use 8 cores and create 8 chunks for optimal parallel processing

### ⚠️ Important note 1

**Prepare FAA files**: Ensure FAA headers are in the form `>genomeName|proteinId`, or use the `--adapt-headers` option to format your headers into `>fileName_prefix|protein_id_counter`.

### ⚠️ Important note 2

`moducomp` is specifically designed for large scale analysis of microbiomes with hundreds of members, and works on Linux systems with at least **64GB of RAM**. Nevertheless, it can be run on **smaller systems with less RAM, using the flag `--lowmem` when running the `pipeline` command**.

To activate the Pixi environment shell:
```bash
pixi shell
```
Once in the shell, you can run `./moducomp.py --help` for a full list of commands and options.



### Testing the pipeline (example)

To test the pipeline, you'll need a directory with some sample genome FAA files.

1.  **Prepare FAA files**: Create a directory (e.g., `test_genomes/`) and place your sample `.faa` files in it.
Ensure FAA headers are in the form `>genomeName|proteinId`, or use the `--adapt-headers` option to format your headers into `>fileName_prefix|protein_id_counter`.

2.  **Run the pipeline command**:

If you have enough RAM (>64GB), you can run the pipeline with the following command:

```bash
pixi shell
./moducomp.py pipeline ./test_genomes ./output_test_pipeline --ncpus 16 --calculate-complementarity 3
# For verbose output with detailed progress information:
# ./moducomp.py pipeline ./test_genomes ./output_test_pipeline_verbose3 --ncpus 128 --calculate-complementarity 3 --verbose
```

⚠️ Note: If don't have enough RAM (>64GB), you can use the `--lowmem` flag to run the pipeline with less memory but it **will be slower**.

```bash
pixi shell
./moducomp.py pipeline ./test_genomes ./output_test_pipeline_lowmem --ncpus 16 --calculate-complementarity 3 --lowmem
```

### Running with your samples

#### `pipeline` command

Use the `pipeline` command to process a directory of genome FAA files from scratch.

```bash
pixi shell

./moducomp.py pipeline \
    /path/to/your/faa_files \
    /path/to/your/output_directory \
    --ncpus <number_of_cpus_to_use> \
    --calculate-complementarity <N>  # 0 to disable, 2 for 2-member, 3 for 3-member complementarity.
    # Optional flags:
    # --lowmem                    # Optional: Use this if you have less than 64GB of RAM
    # --adapt-headers             # If your FASTA headers need modification
    # --del-tmp                   # To delete temporary files
    # --verbose                   # Enable verbose output with detailed progress information
```

#### `analyze-ko-matrix` command

Use the `analyze-ko-matrix` command if you already have a KO matrix file (CSV format, where rows are genomes/combinations, columns are KOs, and values are KO counts).

The KO matrix file should have a `taxon_oid` column for genome identifiers, and subsequent columns for each KO (e.g., `K00001`, `K00002`) with integer counts.

```bash
pixi shell

./moducomp.py analyze-ko-matrix \
    /path/to/your/kos_matrix.csv \
    /path/to/your/output_directory \
    --ncpus <number_of_cpus_to_use> \
    --calculate-complementarity <N>  # 0 to disable, 2 for 2-member, 3 for 3-member complementarity.

    # Optional flags:
    # --del-tmp false
    # --verbose                   # Enable verbose output with detailed progress information
```

### Parallel processing features

`moducomp` includes advanced parallel processing capabilities for improved performance:

#### KPCT parallel processing

When using the `--ncpus` parameter with a value greater than 1, `moducomp` automatically enables parallel processing for the KPCT (KEGG Pathways Completeness Tool) analysis:

- **Automatic chunking**: Input files are split into `ncpus` chunks for optimal load balancing
- **Concurrent processing**: Multiple chunks are processed simultaneously using `multiprocessing.ProcessPoolExecutor`
- **Resume capability**: If processing is interrupted, completed chunks are automatically detected and skipped on restart
- **Automatic fallback**: If parallel processing fails, the system seamlessly falls back to sequential processing

#### Performance tips

- **CPU cores**: Start with `--ncpus 8` for moderate datasets, increase to `--ncpus 16` or higher for large datasets
- **Memory considerations**: Each parallel worker requires memory; reduce `--ncpus` if you encounter memory issues
- **Large datasets**: For datasets with hundreds of genomes, parallel processing can reduce KPCT analysis time by 50-80%

#### Example with parallel processing

```bash
# For large datasets with sufficient resources
./moducomp.py pipeline ./large_genome_collection ./output_large --ncpus 32 --calculate-complementarity 3

# For moderate datasets with verbose output
./moducomp.py analyze-ko-matrix ./ko_matrix.csv ./output_moderate --ncpus 16 --calculate-complementarity 2 --verbose

# For systems with limited memory
./moducomp.py pipeline ./genomes ./output_lowmem --ncpus 8 --lowmem --calculate-complementarity 2
```

## Output files

`moducomp` generates several output files in the specified output directory:

- **`kos_matrix.csv`**: Matrix of KO counts for each genome
- **`module_completeness.tsv`**: Module completeness scores for individual genomes and combinations
- **`module_completeness_complementarity_Nmember.tsv`**: Complementarity reports (if requested)
- **`resource_usage_YYYYMMDD_HHMMSS.log`**: Resource monitoring log with CPU, memory, and runtime metrics for reproducibility
- **`moducomp_YYYYMMDD_HHMMSS.log`**: Detailed pipeline execution log

## Citation
Villada, JC. & Schulz, F. (2025). Assessment of metabolic module completeness of genomes and metabolic complementarity in microbiomes with `moducomp` . `moducomp` (v0.5.1) Zenodo. https://doi.org/10.5281/zenodo.16116092

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "moducomp",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.12,>=3.9",
    "maintainer_email": null,
    "keywords": "bioinformatics, kegg, metabolic, microbiome, modules",
    "author": null,
    "author_email": "\"Juan C. Villada\" <jvillada@lbl.gov>",
    "download_url": "https://files.pythonhosted.org/packages/01/6c/29a4d6d37be797cf84bfe5c944de34d8af247a93ec02e91af0f231f390ae/moducomp-0.6.0.tar.gz",
    "platform": null,
    "description": "# `moducomp`: metabolic module completeness of genomes and metabolic complementarity in microbiomes\n\n`moducomp` is a bioinformatics pipeline designed to identify and analyze metabolic module completeness and complementarity in microbial communities. It processes genomic data (protein sequences in FAA format) to map KEGG Orthology (KO) terms to KEGG modules, calculates module completeness for individual genomes and combinations of genomes within a microbiome, specifically reports potential complementary relationships where a metabolic module is 100% complete in a combination of N genomes but not in any individual member or smaller subset.\n\n## Features\n\n- Annotation of protein sequences using [`eggNOG-mapper`](https://github.com/eggnogdb/eggnog-mapper) to obtain KO terms.\n- Mapping of KOs to KEGG metabolic modules based on [`kegg-pathways-completeness-tool`](https://github.com/EBI-Metagenomics/kegg-pathways-completeness-tool) to obtain metabolic module completeness.\n- **Parallel processing support** for faster KPCT (KEGG Pathways Completeness Tool) analysis with automatic chunking and checkpointing.\n- Reporting of module completeness for individual genomes.\n- Calculation of module completeness for N-member genome combinations.\n- Generation of complementarity reports highlighting modules completed through genome partnerships.\n- Tracks and reports the actual proteins that are responsible for the completion of the module in the combination of N genomes.\n- **Automatic resource monitoring** with timestamped logs tracking CPU usage, memory consumption, and runtime for reproducibility.\n\n## Installation\n\n`moducomp` uses [Pixi](https://pixi.sh/) for managing dependencies and environment setup. Pixi ensures that you have a consistent and reproducible environment.\n\n1.  **Install Pixi**:\nIf you don't have Pixi installed, follow the instructions on the [official Pixi website](https://pixi.sh/latest/#installation).\n\n```bash\ncurl -fsSL https://pixi.sh/install.sh | sh\n```\n\n2.  **Clone the Repository** (if you haven't already):\n```bash\ngit clone https://github.com/NeLLi-team/moducomp.git\ncd moducomp\n```\n\n3.  **Install Dependencies using Pixi**:\nNavigate to the project's root directory (where `pixi.toml` is located) and run:\n```bash\npixi install\n```\nThis command will read the `pixi.toml` file, resolve the dependencies (including Python, eggNOG-mapper, kegg-pathways-completeness-tool, pandas, etc.), and set up a local environment in a `.pixi` subdirectory.\n\n*Note on eggNOG-mapper data*: download the EggNOG-mapper DB that is required for functional annotation. This can be a large download and may take time. Ensure you have sufficient disk space and an internet connection:\n\n```bash\npixi shell\nexport EGGNOG_DATA_DIR=\"/path/to/datadir/to/store/eggnog-db\"\ndownload_eggnog_data.py\n```\n\nAlternatively, you can configure eggNOG-mapper to use a pre-downloaded database.\n```bash\nexport EGGNOG_DATA_DIR=\"/path/to/datadir/to/store/eggnog-db\"\n```\n\n## Usage\n\n`moducomp` provides two main commands: `pipeline` and `analyze-ko-matrix`. You can run these commands using Pixi tasks defined in `pixi.toml` or directly within the Pixi environment.\n\n### Performance and parallel processing\n\n`moducomp` includes **parallel processing capabilities** for the KPCT (KEGG Pathways Completeness Tool) analysis, which can significantly improve performance for large datasets:\n\n- **Automatic chunking**: Input files are automatically split into chunks for parallel processing\n- **Checkpointing**: Resume capability if processing is interrupted - already processed chunks are automatically detected and skipped\n- **Fallback mechanism**: If parallel processing fails, the system automatically falls back to sequential processing\n- **Configurable CPU usage**: Use the `--ncpus` parameter to control how many CPU cores to use\n\n**CPU Configuration**:\n- The `--ncpus` parameter controls the number of CPU cores used for both eggNOG-mapper annotation and KPCT analysis\n- For KPCT parallel processing, the system creates the same number of chunks as CPU cores specified\n- Example: `--ncpus 8` will use 8 cores and create 8 chunks for optimal parallel processing\n\n### \u26a0\ufe0f Important note 1\n\n**Prepare FAA files**: Ensure FAA headers are in the form `>genomeName|proteinId`, or use the `--adapt-headers` option to format your headers into `>fileName_prefix|protein_id_counter`.\n\n### \u26a0\ufe0f Important note 2\n\n`moducomp` is specifically designed for large scale analysis of microbiomes with hundreds of members, and works on Linux systems with at least **64GB of RAM**. Nevertheless, it can be run on **smaller systems with less RAM, using the flag `--lowmem` when running the `pipeline` command**.\n\nTo activate the Pixi environment shell:\n```bash\npixi shell\n```\nOnce in the shell, you can run `./moducomp.py --help` for a full list of commands and options.\n\n\n\n### Testing the pipeline (example)\n\nTo test the pipeline, you'll need a directory with some sample genome FAA files.\n\n1.  **Prepare FAA files**: Create a directory (e.g., `test_genomes/`) and place your sample `.faa` files in it.\nEnsure FAA headers are in the form `>genomeName|proteinId`, or use the `--adapt-headers` option to format your headers into `>fileName_prefix|protein_id_counter`.\n\n2.  **Run the pipeline command**:\n\nIf you have enough RAM (>64GB), you can run the pipeline with the following command:\n\n```bash\npixi shell\n./moducomp.py pipeline ./test_genomes ./output_test_pipeline --ncpus 16 --calculate-complementarity 3\n# For verbose output with detailed progress information:\n# ./moducomp.py pipeline ./test_genomes ./output_test_pipeline_verbose3 --ncpus 128 --calculate-complementarity 3 --verbose\n```\n\n\u26a0\ufe0f Note: If don't have enough RAM (>64GB), you can use the `--lowmem` flag to run the pipeline with less memory but it **will be slower**.\n\n```bash\npixi shell\n./moducomp.py pipeline ./test_genomes ./output_test_pipeline_lowmem --ncpus 16 --calculate-complementarity 3 --lowmem\n```\n\n### Running with your samples\n\n#### `pipeline` command\n\nUse the `pipeline` command to process a directory of genome FAA files from scratch.\n\n```bash\npixi shell\n\n./moducomp.py pipeline \\\n    /path/to/your/faa_files \\\n    /path/to/your/output_directory \\\n    --ncpus <number_of_cpus_to_use> \\\n    --calculate-complementarity <N>  # 0 to disable, 2 for 2-member, 3 for 3-member complementarity.\n    # Optional flags:\n    # --lowmem                    # Optional: Use this if you have less than 64GB of RAM\n    # --adapt-headers             # If your FASTA headers need modification\n    # --del-tmp                   # To delete temporary files\n    # --verbose                   # Enable verbose output with detailed progress information\n```\n\n#### `analyze-ko-matrix` command\n\nUse the `analyze-ko-matrix` command if you already have a KO matrix file (CSV format, where rows are genomes/combinations, columns are KOs, and values are KO counts).\n\nThe KO matrix file should have a `taxon_oid` column for genome identifiers, and subsequent columns for each KO (e.g., `K00001`, `K00002`) with integer counts.\n\n```bash\npixi shell\n\n./moducomp.py analyze-ko-matrix \\\n    /path/to/your/kos_matrix.csv \\\n    /path/to/your/output_directory \\\n    --ncpus <number_of_cpus_to_use> \\\n    --calculate-complementarity <N>  # 0 to disable, 2 for 2-member, 3 for 3-member complementarity.\n\n    # Optional flags:\n    # --del-tmp false\n    # --verbose                   # Enable verbose output with detailed progress information\n```\n\n### Parallel processing features\n\n`moducomp` includes advanced parallel processing capabilities for improved performance:\n\n#### KPCT parallel processing\n\nWhen using the `--ncpus` parameter with a value greater than 1, `moducomp` automatically enables parallel processing for the KPCT (KEGG Pathways Completeness Tool) analysis:\n\n- **Automatic chunking**: Input files are split into `ncpus` chunks for optimal load balancing\n- **Concurrent processing**: Multiple chunks are processed simultaneously using `multiprocessing.ProcessPoolExecutor`\n- **Resume capability**: If processing is interrupted, completed chunks are automatically detected and skipped on restart\n- **Automatic fallback**: If parallel processing fails, the system seamlessly falls back to sequential processing\n\n#### Performance tips\n\n- **CPU cores**: Start with `--ncpus 8` for moderate datasets, increase to `--ncpus 16` or higher for large datasets\n- **Memory considerations**: Each parallel worker requires memory; reduce `--ncpus` if you encounter memory issues\n- **Large datasets**: For datasets with hundreds of genomes, parallel processing can reduce KPCT analysis time by 50-80%\n\n#### Example with parallel processing\n\n```bash\n# For large datasets with sufficient resources\n./moducomp.py pipeline ./large_genome_collection ./output_large --ncpus 32 --calculate-complementarity 3\n\n# For moderate datasets with verbose output\n./moducomp.py analyze-ko-matrix ./ko_matrix.csv ./output_moderate --ncpus 16 --calculate-complementarity 2 --verbose\n\n# For systems with limited memory\n./moducomp.py pipeline ./genomes ./output_lowmem --ncpus 8 --lowmem --calculate-complementarity 2\n```\n\n## Output files\n\n`moducomp` generates several output files in the specified output directory:\n\n- **`kos_matrix.csv`**: Matrix of KO counts for each genome\n- **`module_completeness.tsv`**: Module completeness scores for individual genomes and combinations\n- **`module_completeness_complementarity_Nmember.tsv`**: Complementarity reports (if requested)\n- **`resource_usage_YYYYMMDD_HHMMSS.log`**: Resource monitoring log with CPU, memory, and runtime metrics for reproducibility\n- **`moducomp_YYYYMMDD_HHMMSS.log`**: Detailed pipeline execution log\n\n## Citation\nVillada, JC. & Schulz, F. (2025). Assessment of metabolic module completeness of genomes and metabolic complementarity in microbiomes with `moducomp` . `moducomp` (v0.5.1) Zenodo. https://doi.org/10.5281/zenodo.16116092\n",
    "bugtrack_url": null,
    "license": "BSD 3-Clause License\n        \n        Copyright (c) 2025, NeLLi-team, Lawrence Berkeley National Laboratory\n        \n        Redistribution and use in source and binary forms, with or without\n        modification, are permitted provided that the following conditions are met:\n        \n        1. Redistributions of source code must retain the above copyright notice, this\n           list of conditions and the following disclaimer.\n        \n        2. Redistributions in binary form must reproduce the above copyright notice,\n           this list of conditions and the following disclaimer in the documentation\n           and/or other materials provided with the distribution.\n        \n        3. Neither the name of the copyright holder nor the names of its\n           contributors may be used to endorse or promote products derived from\n           this software without specific prior written permission.\n        \n        THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n        AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n        IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n        DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\n        FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n        DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n        SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n        CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\n        OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n        OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.",
    "summary": "moducomp for computing metabolic module completeness and complementarity",
    "version": "0.6.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/NeLLi-team/moducomp/issues",
        "Documentation": "https://github.com/NeLLi-team/moducomp/blob/main/README.md",
        "Homepage": "https://github.com/NeLLi-team/moducomp",
        "Repository": "https://github.com/NeLLi-team/moducomp"
    },
    "split_keywords": [
        "bioinformatics",
        " kegg",
        " metabolic",
        " microbiome",
        " modules"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ab0ab2492d7e214794ccc2d4a6851bc0856da121d2cf9db4f821dc5a926c538a",
                "md5": "89c1f05bd75ebb9e74b4b5ae1d2cf050",
                "sha256": "cd2d1c84adb58c0f0b180fd86d0709d4ba3daab9ba691adf0b32df90b03bc07a"
            },
            "downloads": -1,
            "filename": "moducomp-0.6.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "89c1f05bd75ebb9e74b4b5ae1d2cf050",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.12,>=3.9",
            "size": 32060,
            "upload_time": "2025-08-13T17:54:52",
            "upload_time_iso_8601": "2025-08-13T17:54:52.294927Z",
            "url": "https://files.pythonhosted.org/packages/ab/0a/b2492d7e214794ccc2d4a6851bc0856da121d2cf9db4f821dc5a926c538a/moducomp-0.6.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "016c29a4d6d37be797cf84bfe5c944de34d8af247a93ec02e91af0f231f390ae",
                "md5": "365c993bb82b9ecbb4e5a9e6b488c014",
                "sha256": "9a1199b39d88ce4aedf62745aa2e340baa531f2bc6348c6738c4aaf043cda991"
            },
            "downloads": -1,
            "filename": "moducomp-0.6.0.tar.gz",
            "has_sig": false,
            "md5_digest": "365c993bb82b9ecbb4e5a9e6b488c014",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.12,>=3.9",
            "size": 29663,
            "upload_time": "2025-08-13T17:54:53",
            "upload_time_iso_8601": "2025-08-13T17:54:53.651845Z",
            "url": "https://files.pythonhosted.org/packages/01/6c/29a4d6d37be797cf84bfe5c944de34d8af247a93ec02e91af0f231f390ae/moducomp-0.6.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-13 17:54:53",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "NeLLi-team",
    "github_project": "moducomp",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "moducomp"
}
        
Elapsed time: 2.21941s