{"id":20848129,"url":"https://github.com/josepizarro3/pyssmf","last_synced_at":"2025-12-25T10:28:01.547Z","repository":{"id":195808967,"uuid":"693703446","full_name":"JosePizarro3/pySSMF","owner":"JosePizarro3","description":"Slave-Spin Mean-Field approach based on tight-binding models.","archived":false,"fork":false,"pushed_at":"2024-12-11T12:10:30.000Z","size":365,"stargazers_count":1,"open_issues_count":7,"forks_count":1,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2025-01-19T05:40:47.003Z","etag":null,"topics":["many-body-physics","physics","slave-particles","solid-state-physics","tight-binding"],"latest_commit_sha":null,"homepage":"https://josepizarro3.github.io/pySSMF/","language":"Fortran","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JosePizarro3.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-09-19T14:42:33.000Z","updated_at":"2024-06-11T07:24:35.000Z","dependencies_parsed_at":"2023-10-02T00:05:43.359Z","dependency_job_id":"f5332d29-384d-409b-aaa3-e7b618631858","html_url":"https://github.com/JosePizarro3/pySSMF","commit_stats":{"total_commits":26,"total_committers":2,"mean_commits":13.0,"dds":"0.46153846153846156","last_synced_commit":"402cc08c69e967ee654a141becaf52bb68315eff"},"previous_names":["josepizarro3/ssmf","josepizarro3/pyssmf"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JosePizarro3%2FpySSMF","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JosePizarro3%2FpySSMF/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JosePizarro3%2FpySSMF/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JosePizarro3%2FpySSMF/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JosePizarro3","download_url":"https://codeload.github.com/JosePizarro3/pySSMF/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243213867,"owners_count":20254879,"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":["many-body-physics","physics","slave-particles","solid-state-physics","tight-binding"],"created_at":"2024-11-18T02:24:40.304Z","updated_at":"2025-12-25T10:27:56.521Z","avatar_url":"https://github.com/JosePizarro3.png","language":"Fortran","funding_links":[],"categories":[],"sub_categories":[],"readme":"![](https://coveralls.io/repos/github/JosePizarro3/pySSMF/badge.svg?branch=develop)\n\n# pySSMF\n\n## Installation steps\n\nIn order to install `pySSMF`, you will need a machine with Python3.9 and create a virtual environment.\n\nFirst, open a terminal, clone, and enter in the folder of this project:\n```sh\ngit clone https://github.com/JosePizarro3/pySSMF.git\ncd pySSMF\n```\n\nCreate the virtual environment specifying the version of Python3.9:\n```sh\npython3.9 -m venv .pyenv\nsource .pyenv/bin/activate\n```\n\nWe recommend using `uv` for pip installing all packages:\n```sh\npip install uv\n```\n\nMake sure to have pip upgraded to its latest version:\n```sh\nuv pip install --upgrade pip\n```\n\nNow, install the dependencies in editable mode (this is done by adding the flag `-e` and it is useful when debugging the code):\n```sh\nuv pip install -e '.[dev]'\n```\n\nThe `[dev]` option will allow to install the optional-dependencies specified in the configuration `pyproject.toml` file.\n\n### Run the tests\n\nYou can run local tests using the `pytest` package:\n\n```sh\npython -m pytest -sv tests\n```\n\nwhere the `-s` and `-v` options toggle the output verbosity.\n\nOur CI/CD pipeline produces a more comprehensive test report using `coverage` and `coveralls` packages. We suggest you to generate your own coverage reports locally by doing:\n\n```sh\nuv pip install coverage coveralls\npython -m pytest --cov=src tests\n```\n\n### Run linting and auto-formatting\n\nWe use [Ruff](https://docs.astral.sh/ruff/) for auto-formatting our Python modules. This package is included as part of the `[dev]` dependencies of the project, and can be run in the terminal:\n\n```sh\nruff check .\nruff format . --check\n```\n\nRuff auto-formatting is also a part of the GitHub workflow actions. Make sure that before you make a Pull Request, `ruff format . --check` runs in your local without any errors otherwise the workflow action will fail.\n\n### Using VSCode for debugging\n\nI recommend to use VSCode as your visual editor for debugging. The project comes with a `settings.json` file which already takes care of formatting everytime you save changes in a file (using [Ruff](https://docs.astral.sh/ruff/)).\n\nYou can also create your own personal debugger `launch.json`. As an example, this is my current debug file:\n```json\n{\n    \"version\": \"0.2.0\",\n    \"configurations\": [\n        {\n            \"name\": \"pySSMF python\",\n            \"type\": \"debugpy\",\n            \"request\": \"launch\",\n            \"program\": \"${workspaceFolder}/debug.py\",\n            \"python\": \"${workspaceFolder}/.pyenv/bin/python\",\n            \"console\": \"integratedTerminal\",\n            \"justMyCode\": true,\n            \"env\": {\n                \"PYTHONDONTWRITEBYTECODE\": \"1\"\n            }\n        },\n        {\n            \"name\": \"pySSMF pytest\",\n            \"type\": \"debugpy\",\n            \"request\": \"launch\",\n            \"module\": \"pytest\",\n            \"args\": [\n                \"-sv\",\n                \"${workspaceFolder}/tests\"\n            ],\n            \"python\": \"${workspaceFolder}/.pyenv/bin/python\",\n            \"console\": \"integratedTerminal\",\n            \"justMyCode\": true,\n            \"env\": {\n                \"PYTHONDONTWRITEBYTECODE\": \"1\"\n            }\n        },\n    ]\n}\n```\n\nFeel free to modify the relative paths under `\"program\"` or `\"args\"` respectively.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjosepizarro3%2Fpyssmf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjosepizarro3%2Fpyssmf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjosepizarro3%2Fpyssmf/lists"}