{"source":"https://contributable.vercel.app","licence":"CC BY 4.0","methodology":"https://contributable.vercel.app/methodology","v":2,"owner":"aboutcode-org","name":"univers","updatedAt":"2026-10-11T05:48:25.119Z","coveredSince":"2025-10-04T18:30:11.779Z","facts":{"owner":"aboutcode-org","name":"univers","description":"Parse and compare package versions and ranges. From debian, npm, pypi, ruby and more. Process all the version range specs and expressions. This project is sponsored by an NLnet project https://nlnet.nl/project/vulnerabilitydatabase/ , the Google Summer of Code, nexB and others generous sponsors!","stars":50,"forks":30,"archived":false,"isFork":false,"license":null,"defaultBranch":"main","pushedAt":"2026-05-01T16:39:15Z","createdAt":"2021-03-16T07:03:43Z","topics":["purl","package-url","versioning","package-manager","dependencies","dependency-resolver","osv","version","vulnerabilities","vulnerablecode"],"languages":{"Python":553537,"Shell":8622,"Batchfile":6957,"Nix":2463,"Makefile":1604},"frameworks":[],"commits90d":0,"releases365d":1,"lastReleaseAt":"2026-05-01T16:39:54Z","gettingStarted":{"contributing":false,"codeOfConduct":false,"issueTemplates":false,"devcontainer":false,"cla":"none","channels":[{"kind":"gitter","url":"https://gitter.im/aboutcode-org/vulnerablecode"}],"policy":null}},"metrics":{"computedAt":"2026-10-11T05:48:25.119Z","outsidePulls":{"cohort":{"n":8,"merged":0,"closedUnmerged":0,"open":8,"mergeRate":null,"openShare":1,"evidence":{"merged":[],"closedUnmerged":[],"open":[212,211,210,209,208,207,202,201]}},"firstTimers":{"n":6,"merged":0,"closedUnmerged":0,"open":6,"mergeRate":null,"openShare":1,"evidence":{"merged":[],"closedUnmerged":[],"open":[212,211,209,207,202,201]}},"year":{"n":14,"merged":1,"closedUnmerged":1,"open":12,"mergeRate":null,"openShare":0.8571428571428571,"evidence":{"merged":[185],"closedUnmerged":[181],"open":[212,211,210,209,208,207,202,201,187,186,184,179]}}},"pullFirstResponse":{"n":8,"answered":1,"waiting":7,"medianHours":null,"p75Hours":null,"within48h":0,"within7d":0.125,"curve":[{"hours":86.55944444444444,"waiting":0.875}],"evidence":{"answered":[212],"waiting":[211,210,209,208,207,202,201]}},"timeToMerge":{"n":8,"merged":0,"medianHours":null,"evidence":[]},"issueFirstResponse":{"n":4,"answered":1,"waiting":3,"medianHours":null,"p75Hours":null,"within48h":null,"within7d":null,"curve":[],"evidence":{"answered":[206],"waiting":[205,204,203]}},"starter":{"counts":{"available":0,"claimed":0,"in-progress":8,"stale":9},"helpWantedAvailable":0,"issues":[{"n":142,"title":"Incorrect `Ranges overlap` and `identical boundaries` error while parsing maven version range","state":"in-progress","label":"beginner","createdAt":"2024-09-02T11:21:02Z","updatedAt":"2026-09-21T22:50:41Z"},{"n":132,"title":"Add support for swift vers range","state":"in-progress","label":"beginner","createdAt":"2024-05-24T14:28:55Z","updatedAt":"2025-03-27T20:24:17Z"},{"n":111,"title":"Cargo version range ( prerelease , build )","state":"stale","label":"beginner","createdAt":"2023-04-12T11:40:42Z","updatedAt":"2024-12-23T22:51:02Z"},{"n":110,"title":"Support `pub` package manager for dart and flutter","state":"in-progress","label":"beginner","createdAt":"2023-03-29T14:31:58Z","updatedAt":"2024-12-23T22:51:01Z"},{"n":104,"title":"Invalid PypiVersion","state":"stale","label":"beginner","createdAt":"2023-03-01T16:25:53Z","updatedAt":"2025-01-06T16:23:03Z"},{"n":80,"title":"Streamline SemVer processing","state":"stale","label":"beginner","createdAt":"2022-08-03T09:30:36Z","updatedAt":"2024-12-23T22:51:00Z"},{"n":59,"title":"Unsupported Alpine versions","state":"in-progress","label":"beginner","createdAt":"2022-04-07T14:31:03Z","updatedAt":"2024-12-23T22:51:00Z"},{"n":50,"title":"Difference in GitHub and Gitlab version ranges","state":"stale","label":"beginner","createdAt":"2022-03-16T12:43:20Z","updatedAt":"2024-12-23T22:51:00Z"},{"n":47,"title":"Add support for from_native function","state":"in-progress","label":"beginner","createdAt":"2022-03-14T17:51:35Z","updatedAt":"2024-12-23T22:50:59Z"},{"n":45,"title":"Handle possible duplication of constraints in VersionRange","state":"in-progress","label":"beginner","createdAt":"2022-03-11T13:54:05Z","updatedAt":"2024-12-23T22:50:59Z"},{"n":43,"title":"Inconsistent use of `attr` parameter and `__eq__` in VersionConstraint","state":"in-progress","label":"beginner","createdAt":"2022-02-21T21:46:14Z","updatedAt":"2024-12-23T22:50:58Z"},{"n":38,"title":"NuGet isn't strictly SemVer","state":"stale","label":"beginner","createdAt":"2022-02-11T04:17:14Z","updatedAt":"2024-12-23T22:50:58Z"},{"n":32,"title":"Apache HTTPD is not semver","state":"stale","label":"beginner","createdAt":"2022-01-24T18:30:40Z","updatedAt":"2024-12-23T22:50:58Z"},{"n":26,"title":"`PyPiVersionRange.from_native` not working","state":"stale","label":"beginner","createdAt":"2022-01-11T19:09:54Z","updatedAt":"2024-12-23T22:50:57Z"},{"n":16,"title":"Semver 2.0 != 2.0.0 and 2.0.0.0 is valid","state":"stale","label":"beginner","createdAt":"2021-11-30T22:03:31Z","updatedAt":"2024-12-23T22:50:57Z"},{"n":10,"title":"parse_version() should accept None and empty strings","state":"in-progress","label":"beginner","createdAt":"2021-10-14T13:43:23Z","updatedAt":"2024-12-23T22:50:56Z"},{"n":6,"title":"Failure to recognize a valid Debian version","state":"stale","label":"beginner","createdAt":"2021-08-25T16:38:53Z","updatedAt":"2024-12-23T22:50:56Z"}]},"responseWindow":{"hours":null,"people":1,"replies":1},"activeMaintainers":1},"series":[{"week":"2025-10-12","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2025-10-19","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2025-10-26","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2025-11-02","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2025-11-09","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2025-11-16","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2025-11-23","opened":0,"merged":0,"answered7d":0,"activity":1},{"week":"2025-11-30","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2025-12-07","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2025-12-14","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2025-12-21","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2025-12-28","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-01-04","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-01-11","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-01-18","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-01-25","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-02-01","opened":1,"merged":0,"answered7d":0,"activity":1},{"week":"2026-02-08","opened":1,"merged":0,"answered7d":0,"activity":1},{"week":"2026-02-15","opened":1,"merged":0,"answered7d":0,"activity":2},{"week":"2026-02-22","opened":1,"merged":1,"answered7d":1,"activity":3},{"week":"2026-03-01","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-03-08","opened":2,"merged":0,"answered7d":0,"activity":2},{"week":"2026-03-15","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-03-22","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-03-29","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-04-05","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-04-12","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-04-19","opened":0,"merged":0,"answered7d":0,"activity":1},{"week":"2026-04-26","opened":0,"merged":0,"answered7d":0,"activity":6},{"week":"2026-05-03","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-05-10","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-05-17","opened":0,"merged":0,"answered7d":0,"activity":1},{"week":"2026-05-24","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-05-31","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-06-07","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-06-14","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-06-21","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-06-28","opened":1,"merged":0,"answered7d":0,"activity":1},{"week":"2026-07-05","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-07-12","opened":1,"merged":0,"answered7d":0,"activity":1},{"week":"2026-07-19","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-07-26","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-08-02","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-08-09","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-08-16","opened":2,"merged":0,"answered7d":0,"activity":2},{"week":"2026-08-23","opened":2,"merged":0,"answered7d":0,"activity":2},{"week":"2026-08-30","opened":2,"merged":0,"answered7d":1,"activity":2},{"week":"2026-09-06","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-09-13","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-09-20","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-09-27","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-10-04","opened":0,"merged":0,"answered7d":0,"activity":0}],"trend":{"flag":"went-quiet","recentMedianHours":null,"previousMedianHours":null,"recentN":0,"previousN":6,"openedThisWeek":0,"openedLastWeek":0},"programs":[{"program":"gsoc","slug":"aboutcode","name":"AboutCode","years":[2024,2025,2026]}]}