{"id":19835047,"url":"https://github.com/equinor/completor","last_synced_at":"2025-05-01T17:32:33.115Z","repository":{"id":244910261,"uuid":"787399074","full_name":"equinor/completor","owner":"equinor","description":"Advanced multi-segmented well completion tool","archived":false,"fork":false,"pushed_at":"2024-10-29T09:28:47.000Z","size":2836,"stargazers_count":0,"open_issues_count":21,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-10-29T11:37:31.773Z","etag":null,"topics":["completion","ecl","eclipse","oil-and-gas","open-porus-media","opm","python","reservoir","well"],"latest_commit_sha":null,"homepage":"https://equinor.github.io/completor/","language":"Scheme","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/equinor.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-16T12:58:16.000Z","updated_at":"2024-10-29T09:20:22.000Z","dependencies_parsed_at":"2024-08-19T16:31:01.117Z","dependency_job_id":"a6ba9559-b98e-4169-9464-6daa6f73c328","html_url":"https://github.com/equinor/completor","commit_stats":null,"previous_names":["equinor/completor"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/equinor%2Fcompletor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/equinor%2Fcompletor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/equinor%2Fcompletor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/equinor%2Fcompletor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/equinor","download_url":"https://codeload.github.com/equinor/completor/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224270291,"owners_count":17283649,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["completion","ecl","eclipse","oil-and-gas","open-porus-media","opm","python","reservoir","well"],"created_at":"2024-11-12T12:06:24.799Z","updated_at":"2024-11-12T12:06:25.786Z","avatar_url":"https://github.com/equinor.png","language":"Scheme","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Completor®\nCompletor® is an Equinor developed Python Command Line Interface (CLI) for modeling wells with inflow control technology.\n\n## Introduction\nCompletor® reads the multi-segmented tubing definition generated by reservoir modelling pre-processing tool and a user defined file (called \"case\" file) specifying the completion design.\nThe information in the input schedule file and the case file is combined\nand written to a new schedule file to be included in your reservoir simulator.\n\n## Documentation\nDetailed documentation for usage of completor can be found at https://equinor.github.io/completor.\n\n## Getting started as a user\n\n### Prerequisites\n* [Python](https://www.python.org/), version 3.11\n* [ERT](https://github.com/equinor/ert) (optional, and only available on Linux.)\n\n### Installation\nTo start using Completor®, you can follow these instructions:\n\n```shell\ngit clone https://github.com/equinor/completor.git\ncd completor\npython3 -m venv venv\nsource venv/bin/activate\npip install -e .\n```\n\nIf you intend to run completor as a plugin to ert:\n```shell\ngit clone https://github.com/equinor/completor.git\ncd completor\npython -m venv venv\nsource venv/bin/activate\npip install -e \".[ert]\"\n```\n\nEnsure it runs as intended, confirm it with:\n```shell\ncompletor --help\n```\nThis should run for some time and display a help message.\n\n### Create and run your first model\nSome examples of Completor case file are available in [Examples](documentation/docs/about/examples.mdx) and detailed explanation is available in [Configuration](documentation/docs/about/configuration.mdx).\n\n## Getting started as a contributor\n### Contribution guide\nWe welcome all kinds of contributions, including code, bug reports, issues, feature requests, and documentation.\nThe preferred way of submitting a contribution is to either make an issue on GitHub or by forking the project on GitHub\nand making a pull request.\n\nSee [Contribution Document](documentation/docs/contribution_guide.mdx) on how to contribute.\n\n### Install completor as dev\nIn order to run Completor® you need to have versions of [Python 3.11](https://www.python.org/downloads/) installed.\n#### Source code\nClone the [Completor® repository](https://github.com/equinor/completor) to get the source code.\n```bash\ngit clone https://github.com/equinor/completor.git\ncd completor\n```\n\n#### Pipx\n[Install pipx](https://github.com/pypa/pipx#install-pipx), although it's optional next step assumes pipx is installed, check poetry docs for other installation options.\n\nLinux:\n```bash\npython3 -m pip install --user pipx\npython3 -m pipx ensurepath\n```\nWindows:\n```bash\npython -m pip install --user pipx\n# replace python with python3 if installed from Windows app store.\n```\nMac:\n```bash\nbrew install pipx\npipx ensurepath\n```\n\n#### Install Poetry:\nFor options other than pipx see [poetry documentation](https://python-poetry.org/docs/main/#installation)\nOpen a new terminal/tab then\n```bash\npipx install poetry\n```\nLet Poetry install all dependencies for you.\n```bash\npoetry install\n```\nIf you're in a Linux environment add the extra Ert dependencies!\n```bash\npoetry install -E ert\n```\n\nActivate poetryenv (or use venv if that is more familiar, poetry should respect it as an environment):\n```bash\npoetry shell\n```\n\nNow you should be able to check that everything is installed correctly by running\n```bash\npytest\n```\nin the activated poetry shell.\n\nInformation regarding integration with PyCharm can be found here: https://www.jetbrains.com/help/pycharm/poetry.html#poetry-env\nMore info on viewing your environment information can be found here: https://python-poetry.org/docs/managing-environments/#switching-between-environments\n\nPoetry support completion scripts for Bash, Fish and Zsh [detailed information can be found here](https://python-poetry.org/docs/#installing-with-pipx).\n\n#### Pre-commit\n\nThis project makes use of pre-commit to ensure commits adhere to certain rules and standards.\nPre-commit should already be installed in the `poetry install` command, but you need to activate the hooks like so:\n```bash\npre-commit install\n```\n\nIf for some reason this is not working correctly you can install pre-commit separately like this:\n```bash\npipx install pre-commit\npre-commit install\n```\n\nNow pre-commit should be a constant nuisance, bothering you with some minor change each time you want to commit.\nAlthough annoying this is preferable to having lots of minor quirks in the code, such as trailing whitespace everywhere.\nJust run git commit a second time, remembering to add the changes made by pre-commit and you should be mostly good!\n\n\u003e Git hook scripts are useful for identifying simple issues before submission to code review.\n\u003e Run hooks on every commit to automatically point out issues in code such as missing semicolons, trailing whitespace, and debug statements.\n\u003e By pointing these issues out before code review, this allows a code reviewer to focus on the architecture of a change while not wasting time with trivial style nitpicks.\n\u003e Black will style your code automatically to match the Black code style, and Flake8 will check your code for style, syntax, and logical errors.\n\u003e Remember to add the changes made by the scripts to your commit.\n\n#### Running unit- and integration tests\n\nThis project uses [pytest](https://docs.pytest.org/en/stable/) for unit and integration testing.\nRun it before every push to make sure your code is working as intended.\nTo run all tests discovered by pytest, run the following command when in the root folder\n\nRecommended settings/launch args:\nThis makes the tests run in parallel and in turn go a bit more brrrr.\n```bash\npytest -n auto\n```\n\n### Versioning\nThis project make use of [Release Please](https://github.com/googleapis/release-please) to keep track of versioning.\nBy following [conventional commit messages](https://www.conventionalcommits.org/en) (enforced) in PR titles, and squash-merging, the release please workflow will automatically create/update release-PRs based on which change is performed.\n\n### Black and Flake8\nThis project uses [Black](https://pypi.org/project/black/) and [Flake8](https://pypi.org/project/flake8/) for code formatting and linting.\nIt deviates from the default black config by setting the max line length to 120 characters.\n\nIt might be helpful turn on format-on-save, and make black format your code on save.\n\nA helpful visual aid is to set rulers in your editor to 120 characters.\nCode should not exceed 120 characters.\nAdd this to you `settings.json` to set rulers in VSCode:\n\n```json\n{\n  \"editor.rulers\": [\n    120\n  ],\n  \"workbench.colorCustomizations\": {\n    \"editorRuler.foreground\": \"#33779944\"\n  }\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fequinor%2Fcompletor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fequinor%2Fcompletor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fequinor%2Fcompletor/lists"}