merged


Namemerged JSON
Version 0.1.0 PyPI version JSON
download
home_page
SummaryA terminal UI dashboard to view python dependencies across Github repositories.
upload_time2023-04-15 12:12:41
maintainer
docs_urlNone
authorKyle Harrison
requires_python
licenseMIT
keywords merged
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Merged

[![Tests](https://github.com/apoclyps/merged/actions/workflows/test.yml/badge.svg)](https://github.com/apoclyps/merged/actions/workflows/test.yml)
![pypi](https://img.shields.io/pypi/v/merged.svg)
![versions](https://img.shields.io/pypi/pyversions/merged.svg)

![](https://banners.beyondco.de/merged.png?theme=light&packageManager=pip+install&packageName=merged&pattern=architect&style=style_1&description=Improve+visibility+of+your+merged+pull+requests&md=1&showWatermark=1&fontSize=100px&images=https%3A%2F%2Flaravel.com%2Fimg%2Flogomark.min.svg)

Simplify managing dependencies within an all-in-one TUI dashboard.

## How to use merged

You will need to create a GITHUB_TOKEN with permissions via [Github > Settings > Developer Settings](https://github.com/settings/tokens/new) with the `repo` permissions to read public/private repositories and and `admin:org` for `read:org` if you wish to access an organisation that is not public.

```bash
pip install merged

# your github username
export GITHUB_USER="user"
# an individual or an organisation in which the repository exists
export GITHUB_ORG="org"
# a comma separated list of repositories
export GITHUB_REPOSITORY="repo_1,repo_2"
# your personal github token
export GITHUB_TOKEN="secret"

merged check
```

### Configuration

Merged supports both .ini and .env files. Merged always searches for configuration in this order:

- Environment variables;
- Repository: ini or .env file;
- Configuration Path
- Review Defaults

The following steps are used to provide the configuration using a `.env` or `.ini` file. The configuration can be read from within the module/repository (default location set by decouple) using the `.env` file or via a location specified by an environmental variable that points to a `.ini` file located in the root of the project or in a location specified by `PATH_TO_CONFIG`.

#### Using an `.env` file within the repository

```bash
cd /home/<your-user>/workspace/apoclyps/merged
touch .env

echo "GITHUB_ORG=apoclyps" >> .env
echo "GITHUB_REPOSITORY=micropython-by-example" >> .env
echo "GIT_BRANCH=main" >> .env
python -m merged config
```

#### Using an `.ini` file within the repository

```bash
cd /home/<your-user>/workspace/apoclyps/merged
touch settings.ini
echo "[settings]\nGITHUB_ORG=apoclyps\nGITHUB_REPOSITORY=micropython-by-example\nGIT_BRANCH=main" >> settings.ini

python -m merged config
```

#### Providing a configuration path

If you wish to set the configuration path to use an `ini` or `.env` file when running the application, you can use the configuration of a specific file by supplying the path to the configuration like so:

```bash
cd /home/apoclyps/
touch settings.ini
echo "[settings]\nGITHUB_ORG=apoclyps\nGITHUB_REPOSITORY=micropython-by-example\nGIT_BRANCH=main" >> settings.ini

cd /home/<your-user>/workspace/apoclyps/merged
export MERGED_PATH_TO_CONFIG=/home/<your-user>/

python -m merged config
```

If at any time, you want to confirm your configuration reflects the file you have provided, you can use `merged config` to view what current configuration of Merged.

#### Configuring Layout

## Getting started with local development

To build and run the CLI on your host, you will need Python 3.9 or greater, pip, and virtualenv to build and run `merged`.
If you wish to publish a PR with your changes, first create a fork on Github and clone that code.

```bash
$ gh repo clone apoclyps/merged
$ cd merged
$ python3 -m venv env
$ source env/bin/activate
(env)$ pip install -r requirements_dev.txt
(env)$ pip install -r requirements.txt
(env)$ python -m merged check
```

If you wish to keep a copy of Merged on your host system, you can install and run it using:

```bash
python -m venv env
source env/bin/activate
python -m pip install -e .
merged -h
```

You can run the Merged within Docker:

```bash
docker-compose build cli && docker-compose run --rm cli python -m merged check
```

To build an image and run that image with all of the necessary dependencies using the following commands:

```bash
docker-compose build cli
docker-compose run --rm cli python -m merged check
```

## Testing

A test suite has been included to ensure Merged functions correctly.

To run the entire test suite with verbose output, run the following:

```bash
make test
```

## Linting

To run individual linting steps:

```bash
make lint
```

You can also set up `pre-commit` to run the linting steps automatically during the commit phase,
the pre-commit pipeline can be set up by running the following command on the project root:

```bash
pre-commit install
```

To run all checks manually:

```bash
pre-commit run --all
```

## Contributions

Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "merged",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "Merged",
    "author": "Kyle Harrison",
    "author_email": "kyle.harrison.dev@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/08/96/a45c2e1ade050c9c042e6b43bff11eb9aa1b574afb7875f7d29f86ae0ff0/merged-0.1.0.tar.gz",
    "platform": null,
    "description": "# Merged\n\n[![Tests](https://github.com/apoclyps/merged/actions/workflows/test.yml/badge.svg)](https://github.com/apoclyps/merged/actions/workflows/test.yml)\n![pypi](https://img.shields.io/pypi/v/merged.svg)\n![versions](https://img.shields.io/pypi/pyversions/merged.svg)\n\n![](https://banners.beyondco.de/merged.png?theme=light&packageManager=pip+install&packageName=merged&pattern=architect&style=style_1&description=Improve+visibility+of+your+merged+pull+requests&md=1&showWatermark=1&fontSize=100px&images=https%3A%2F%2Flaravel.com%2Fimg%2Flogomark.min.svg)\n\nSimplify managing dependencies within an all-in-one TUI dashboard.\n\n## How to use merged\n\nYou will need to create a GITHUB_TOKEN with permissions via [Github > Settings > Developer Settings](https://github.com/settings/tokens/new) with the `repo` permissions to read public/private repositories and and `admin:org` for `read:org` if you wish to access an organisation that is not public.\n\n```bash\npip install merged\n\n# your github username\nexport GITHUB_USER=\"user\"\n# an individual or an organisation in which the repository exists\nexport GITHUB_ORG=\"org\"\n# a comma separated list of repositories\nexport GITHUB_REPOSITORY=\"repo_1,repo_2\"\n# your personal github token\nexport GITHUB_TOKEN=\"secret\"\n\nmerged check\n```\n\n### Configuration\n\nMerged supports both .ini and .env files. Merged always searches for configuration in this order:\n\n- Environment variables;\n- Repository: ini or .env file;\n- Configuration Path\n- Review Defaults\n\nThe following steps are used to provide the configuration using a `.env` or `.ini` file. The configuration can be read from within the module/repository (default location set by decouple) using the `.env` file or via a location specified by an environmental variable that points to a `.ini` file located in the root of the project or in a location specified by `PATH_TO_CONFIG`.\n\n#### Using an `.env` file within the repository\n\n```bash\ncd /home/<your-user>/workspace/apoclyps/merged\ntouch .env\n\necho \"GITHUB_ORG=apoclyps\" >> .env\necho \"GITHUB_REPOSITORY=micropython-by-example\" >> .env\necho \"GIT_BRANCH=main\" >> .env\npython -m merged config\n```\n\n#### Using an `.ini` file within the repository\n\n```bash\ncd /home/<your-user>/workspace/apoclyps/merged\ntouch settings.ini\necho \"[settings]\\nGITHUB_ORG=apoclyps\\nGITHUB_REPOSITORY=micropython-by-example\\nGIT_BRANCH=main\" >> settings.ini\n\npython -m merged config\n```\n\n#### Providing a configuration path\n\nIf you wish to set the configuration path to use an `ini` or `.env` file when running the application, you can use the configuration of a specific file by supplying the path to the configuration like so:\n\n```bash\ncd /home/apoclyps/\ntouch settings.ini\necho \"[settings]\\nGITHUB_ORG=apoclyps\\nGITHUB_REPOSITORY=micropython-by-example\\nGIT_BRANCH=main\" >> settings.ini\n\ncd /home/<your-user>/workspace/apoclyps/merged\nexport MERGED_PATH_TO_CONFIG=/home/<your-user>/\n\npython -m merged config\n```\n\nIf at any time, you want to confirm your configuration reflects the file you have provided, you can use `merged config` to view what current configuration of Merged.\n\n#### Configuring Layout\n\n## Getting started with local development\n\nTo build and run the CLI on your host, you will need Python 3.9 or greater, pip, and virtualenv to build and run `merged`.\nIf you wish to publish a PR with your changes, first create a fork on Github and clone that code.\n\n```bash\n$ gh repo clone apoclyps/merged\n$ cd merged\n$ python3 -m venv env\n$ source env/bin/activate\n(env)$ pip install -r requirements_dev.txt\n(env)$ pip install -r requirements.txt\n(env)$ python -m merged check\n```\n\nIf you wish to keep a copy of Merged on your host system, you can install and run it using:\n\n```bash\npython -m venv env\nsource env/bin/activate\npython -m pip install -e .\nmerged -h\n```\n\nYou can run the Merged within Docker:\n\n```bash\ndocker-compose build cli && docker-compose run --rm cli python -m merged check\n```\n\nTo build an image and run that image with all of the necessary dependencies using the following commands:\n\n```bash\ndocker-compose build cli\ndocker-compose run --rm cli python -m merged check\n```\n\n## Testing\n\nA test suite has been included to ensure Merged functions correctly.\n\nTo run the entire test suite with verbose output, run the following:\n\n```bash\nmake test\n```\n\n## Linting\n\nTo run individual linting steps:\n\n```bash\nmake lint\n```\n\nYou can also set up `pre-commit` to run the linting steps automatically during the commit phase,\nthe pre-commit pipeline can be set up by running the following command on the project root:\n\n```bash\npre-commit install\n```\n\nTo run all checks manually:\n\n```bash\npre-commit run --all\n```\n\n## Contributions\n\nPlease read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A terminal UI dashboard to view python dependencies across Github repositories.",
    "version": "0.1.0",
    "split_keywords": [
        "merged"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ea0e786d3d51f9c03f7546a809c057646fb70cdffe9f18c38dd8be50ea1588b5",
                "md5": "bad80643ef9f98271412a3799b8ef086",
                "sha256": "35ff2919271c5f90a13013ff1322948cd40528cef0c0a7f24428f050a2bbea32"
            },
            "downloads": -1,
            "filename": "merged-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "bad80643ef9f98271412a3799b8ef086",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 10235,
            "upload_time": "2023-04-15T12:12:39",
            "upload_time_iso_8601": "2023-04-15T12:12:39.828561Z",
            "url": "https://files.pythonhosted.org/packages/ea/0e/786d3d51f9c03f7546a809c057646fb70cdffe9f18c38dd8be50ea1588b5/merged-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0896a45c2e1ade050c9c042e6b43bff11eb9aa1b574afb7875f7d29f86ae0ff0",
                "md5": "69ecaf33cf23820352ab2c0a1f58d12a",
                "sha256": "c5a30f11ad3fd0a6b35a005e716a76e55739615a6ea5fc243d09d1cc84be8b6a"
            },
            "downloads": -1,
            "filename": "merged-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "69ecaf33cf23820352ab2c0a1f58d12a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 10928,
            "upload_time": "2023-04-15T12:12:41",
            "upload_time_iso_8601": "2023-04-15T12:12:41.335105Z",
            "url": "https://files.pythonhosted.org/packages/08/96/a45c2e1ade050c9c042e6b43bff11eb9aa1b574afb7875f7d29f86ae0ff0/merged-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-04-15 12:12:41",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "lcname": "merged"
}
        
Elapsed time: 0.75401s