{"id":16518704,"url":"https://github.com/molpopgen/demes-rs","last_synced_at":"2025-03-16T19:30:57.547Z","repository":{"id":37029314,"uuid":"485451057","full_name":"molpopgen/demes-rs","owner":"molpopgen","description":"rust tools for the demes ecosystem","archived":false,"fork":false,"pushed_at":"2024-09-25T17:25:17.000Z","size":682,"stargazers_count":0,"open_issues_count":12,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-12T16:37:26.133Z","etag":null,"topics":["demography","population-genetics","population-genomics","rust","simulation"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/molpopgen.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-25T16:35:23.000Z","updated_at":"2024-09-25T17:25:31.000Z","dependencies_parsed_at":"2023-09-27T00:14:49.601Z","dependency_job_id":"17624187-b806-4144-9fa8-1f4da6eb725c","html_url":"https://github.com/molpopgen/demes-rs","commit_stats":{"total_commits":299,"total_committers":3,"mean_commits":99.66666666666667,"dds":0.09364548494983282,"last_synced_commit":"d0d8fdddefebdb85fdb8ba80b0c3586843860be7"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/molpopgen%2Fdemes-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/molpopgen%2Fdemes-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/molpopgen%2Fdemes-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/molpopgen%2Fdemes-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/molpopgen","download_url":"https://codeload.github.com/molpopgen/demes-rs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221667182,"owners_count":16860565,"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":["demography","population-genetics","population-genomics","rust","simulation"],"created_at":"2024-10-11T16:37:41.267Z","updated_at":"2024-10-27T11:09:01.400Z","avatar_url":"https://github.com/molpopgen.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# demes-rs\n\n![CI tests](https://github.com/molpopgen/demes-rs/workflows/CI/badge.svg)\n\n[rust](https://www.rustlang.org) tools for the \n[demes](https://popsim-consortium.github.io/demes-spec-docs/main/introduction.html#sec-intro)\nspecification.\n\nThis repository contains the following rust crates:\n\n* [demes](https://crates.io/crates/demes) implements the specification and a graph builder.\n* [demes-forward](https://crates.io/crates/demes-forward) provides a means to handle graphs forwards in time.\n* [demes-forward-capi](https://crates.io/crates/demes-forward-capi) is a C interface to `demes-foward`.\n\n## Developer information\n\n### Cloning the repository and running the test suite\n\n```sh\ngit clone https://github.com/molpopgen/demes-rs --recurse-submodules\ncd demes-rs\ncargo test\n```\n\nTo clone using [gh](https://cli.github.com/),\n\n```\ngh clone molpopgen/demes-rs -- --recurse-submodules\n```\n\n### Pull requests\n\n* Pull requests should be rebased down to one commit.\n* Commit messages for CHANGELOGs should be\n  [conventional](https://www.conventionalcommits.org/en/v1.0.0/).\n* We **strongly** suggest running semver checks locally.\n  While we run these upon merge into `main`, it is better to know\n  ahead of time if a PR breaks API.   It is even better to\n  avoid API breakage altogether!\n\n```sh\ncargo install cargo-semver-checks\ncargo semver-checks check-release\n```\n\n### Generating CHANGELOG updates\n\n* We use [git-cliff](https://github.com/orhun/git-cliff)\n* To update a CHANGELOG for a given crate, use include paths.\n  For example:\n\n```sh\ngit cliff -u --include-path \"demes/**\" --tag v0.4.0 -p demes/CHANGELOG.md\n```\n\nThe configuration file for cliff is present in the workspace root.\n\n### Tagging a release\n\nThe workspace layout of this repository makes version tagging a bit fiddly.\nWe also need the tags to play with with `git-cliff` (see above).\n\nWhen we tag a version, we use the following date-based pattern:\n\n```\nvDD_Month_YYY\n```\n\nFor example:\n\n```\nv29_Sep_2023\n```\n\n### Viewing the documentation locally\n\n```\ncargo doc --open\n```\n\n### Calculating code coverage\n\nFirst, install `tarpaulin`:\n\n```sh\ncargo install cargo-tarpaulin\n```\n\nThen,\n\n```sh\ncargo tarpaulin --tests --ignore-tests -o html\n```\n\nFinally, open `tarpaulin-report.html` with your favorite browser.\n\n### Dependency updates\n\nWe have disabled `dependabot` updates to `cargo` dependencies for this repository.\nWe found that it was usually doing minor version updates and cluttering the commit history.\nWe will periodically do updates manually instead.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmolpopgen%2Fdemes-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmolpopgen%2Fdemes-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmolpopgen%2Fdemes-rs/lists"}