{"id":143500,"name":null,"description":"B-OCL is a tool designed to parse and evaluate the OCL constraints designed on BESSER models. It is a python based implementation that utilises a parser and listener generated via an ANTLR4 grammar.","url":"https://github.com/besser-pearl/b-ocl-interpreter","last_synced_at":"2025-09-09T13:58:22.541Z","repository":{"id":241283966,"uuid":"785109200","full_name":"BESSER-PEARL/B-OCL-Interpreter","owner":"BESSER-PEARL","description":"B-OCL is a tool designed to parse and evaluate the OCL constraints designed on BESSER models. It is a python based implementation that utilises a parser and listener generated via an ANTLR4 grammar.","archived":false,"fork":false,"pushed_at":"2025-09-04T12:43:08.000Z","size":1792,"stargazers_count":23,"open_issues_count":5,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-09-09T11:43:47.228Z","etag":null,"topics":["antlr4","besser","business-rules","business-rules-engine","evaluating","grammar","interpreter","model","ocl","parsing","uml","verification"],"latest_commit_sha":null,"homepage":"https://b-ocl-interpreter.readthedocs.io/en/latest/","language":"Python","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/BESSER-PEARL.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":"GOVERNANCE.md","roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-11T08:04:26.000Z","updated_at":"2025-09-04T12:43:12.000Z","dependencies_parsed_at":"2024-05-30T10:01:23.774Z","dependency_job_id":"bb4a9841-9ffc-4adb-884c-9c44394f4de6","html_url":"https://github.com/BESSER-PEARL/B-OCL-Interpreter","commit_stats":null,"previous_names":["besser-pearl/bocl-interpreter","besser-pearl/b-ocl-interpreter"],"tags_count":1,"template":false,"template_full_name":"BESSER-PEARL/template","purl":"pkg:github/BESSER-PEARL/B-OCL-Interpreter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BESSER-PEARL%2FB-OCL-Interpreter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BESSER-PEARL%2FB-OCL-Interpreter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BESSER-PEARL%2FB-OCL-Interpreter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BESSER-PEARL%2FB-OCL-Interpreter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BESSER-PEARL","download_url":"https://codeload.github.com/BESSER-PEARL/B-OCL-Interpreter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BESSER-PEARL%2FB-OCL-Interpreter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274307842,"owners_count":25261217,"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","status":"online","status_checked_at":"2025-09-09T02:00:10.223Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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"}},"owner":{"login":"BESSER-PEARL","name":"BESSER-PEARL","uuid":"138102430","kind":"organization","description":"","email":"jordi.cabot@list.lu","website":null,"location":"Luxembourg","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/138102430?v=4","repositories_count":1,"last_synced_at":"2023-07-10T17:25:46.813Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/BESSER-PEARL","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2023-07-10T17:25:46.826Z","updated_at":"2023-07-10T17:25:46.826Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BESSER-PEARL","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BESSER-PEARL/repositories"},"packages":[{"id":10079364,"name":"bocl","ecosystem":"pypi","description":"B-OCL","homepage":null,"licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/BESSER-PEARL/B-OCL-Interpreter","keywords_array":["uml","code generation","python"],"namespace":null,"versions_count":4,"first_release_published_at":"2024-05-23T16:18:16.000Z","latest_release_published_at":"2025-07-02T08:41:37.000Z","latest_release_number":"0.3.1","last_synced_at":"2025-09-09T13:06:29.549Z","created_at":"2024-05-23T16:32:26.890Z","updated_at":"2025-09-09T13:06:29.550Z","registry_url":"https://pypi.org/project/bocl/","install_command":"pip install bocl --index-url https://pypi.org/simple","documentation_url":"https://b-ocl-interpreter.readthedocs.io/en/latest/","metadata":{"funding":null,"documentation":"https://b-ocl-interpreter.readthedocs.io/en/latest/","classifiers":[],"normalized_name":"bocl","project_status":null},"repo_metadata":{"id":241283966,"uuid":"785109200","full_name":"BESSER-PEARL/B-OCL-Interpreter","owner":"BESSER-PEARL","description":"B-OCL is a tool designed to parse and evaluate the OCL constraints designed on BESSER models. It is a python based implementation that utilises a parser and listener generated via an ANTLR4 grammar.","archived":false,"fork":false,"pushed_at":"2025-07-02T08:37:26.000Z","size":1783,"stargazers_count":23,"open_issues_count":6,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-08-22T20:58:09.499Z","etag":null,"topics":["antlr4","besser","business-rules","business-rules-engine","evaluating","grammar","interpreter","model","ocl","parsing","uml","verification"],"latest_commit_sha":null,"homepage":"https://b-ocl-interpreter.readthedocs.io/en/latest/","language":"Python","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/BESSER-PEARL.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":"GOVERNANCE.md","roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-11T08:04:26.000Z","updated_at":"2025-08-14T11:37:41.000Z","dependencies_parsed_at":"2024-05-30T10:01:23.774Z","dependency_job_id":"bb4a9841-9ffc-4adb-884c-9c44394f4de6","html_url":"https://github.com/BESSER-PEARL/B-OCL-Interpreter","commit_stats":null,"previous_names":["besser-pearl/bocl-interpreter","besser-pearl/b-ocl-interpreter"],"tags_count":1,"template":false,"template_full_name":"BESSER-PEARL/template","purl":"pkg:github/BESSER-PEARL/B-OCL-Interpreter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BESSER-PEARL%2FB-OCL-Interpreter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BESSER-PEARL%2FB-OCL-Interpreter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BESSER-PEARL%2FB-OCL-Interpreter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BESSER-PEARL%2FB-OCL-Interpreter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BESSER-PEARL","download_url":"https://codeload.github.com/BESSER-PEARL/B-OCL-Interpreter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BESSER-PEARL%2FB-OCL-Interpreter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271745590,"owners_count":24813509,"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","status":"online","status_checked_at":"2025-08-23T02:00:09.327Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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"},"owner_record":{"login":"BESSER-PEARL","name":"BESSER-PEARL","uuid":"138102430","kind":"organization","description":"","email":"jordi.cabot@list.lu","website":null,"location":"Luxembourg","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/138102430?v=4","repositories_count":1,"last_synced_at":"2023-07-10T17:25:46.813Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/BESSER-PEARL","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2023-07-10T17:25:46.826Z","updated_at":"2023-07-10T17:25:46.826Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BESSER-PEARL","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BESSER-PEARL/repositories"},"tags":[{"name":"v0.1.0","sha":"4163eb67c5594a722b2a74e356a6edd6974fdd7a","kind":"commit","published_at":"2024-05-23T15:43:24.000Z","download_url":"https://codeload.github.com/BESSER-PEARL/B-OCL-Interpreter/tar.gz/v0.1.0","html_url":"https://github.com/BESSER-PEARL/B-OCL-Interpreter/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/BESSER-PEARL/B-OCL-Interpreter@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BESSER-PEARL%2FB-OCL-Interpreter/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BESSER-PEARL%2FB-OCL-Interpreter/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2025-08-23T05:25:19.131Z","dependent_packages_count":0,"downloads":41,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":61.44047677236005,"dependent_packages_count":10.910846082408721,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":36.175661427384384},"purl":"pkg:pypi/bocl","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/bocl","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/bocl","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/bocl/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/bocl/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/bocl/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/bocl/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/bocl/related_packages","maintainers":[{"uuid":"besser.pearl","login":"besser.pearl","name":null,"email":null,"url":null,"packages_count":4,"html_url":"https://pypi.org/user/besser.pearl/","role":"Owner","created_at":"2024-05-23T16:32:31.209Z","updated_at":"2024-05-23T16:32:31.209Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/besser.pearl/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":726563,"maintainers_count":308865,"namespaces_count":0,"keywords_count":238369,"github":"pypi","metadata":{"funded_packages_count":50594},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-09-09T06:31:19.922Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}}],"commits":{"message":"Repository syncing started."},"issues_stats":{"full_name":"BESSER-PEARL/B-OCL-Interpreter","html_url":"https://github.com/BESSER-PEARL/B-OCL-Interpreter","last_synced_at":"2025-09-05T16:04:20.877Z","status":null,"issues_count":7,"pull_requests_count":0,"avg_time_to_close_issue":10469057.5,"avg_time_to_close_pull_request":null,"issues_closed_count":2,"pull_requests_closed_count":0,"pull_request_authors_count":0,"issue_authors_count":5,"avg_comments_per_issue":1.0,"avg_comments_per_pull_request":null,"merged_pull_requests_count":0,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":7,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":10469057.5,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2025-08-29T18:42:14.994Z","updated_at":"2025-09-05T16:04:20.879Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/BESSER-PEARL%2FB-OCL-Interpreter","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/BESSER-PEARL%2FB-OCL-Interpreter/issues","issue_labels_count":{"bug":1},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":6,"COLLABORATOR":1},"pull_request_author_associations_count":{},"issue_authors":{"jcabot":3,"FitashUlHaq":1,"jlcanovas":1,"ivan-alfonso":1,"ichxorya":1},"pull_request_authors":{},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-06T00:00:15.144Z","repositories_count":10113577,"issues_count":31622835,"pull_requests_count":98328078,"authors_count":10707566,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{"bug":1},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"NONE":6,"COLLABORATOR":1},"past_year_pull_request_author_associations_count":{},"past_year_issue_authors":{"jcabot":3,"FitashUlHaq":1,"ichxorya":1,"ivan-alfonso":1,"jlcanovas":1},"past_year_pull_request_authors":{},"maintainers":[{"login":"FitashUlHaq","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/FitashUlHaq"}],"active_maintainers":[{"login":"FitashUlHaq","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/FitashUlHaq"}]},"events":{"total":{"CreateEvent":1,"ReleaseEvent":1,"IssuesEvent":8,"WatchEvent":14,"MemberEvent":1,"IssueCommentEvent":2,"PushEvent":11,"PullRequestReviewEvent":2,"PullRequestEvent":1,"ForkEvent":1},"last_year":{"CreateEvent":1,"ReleaseEvent":1,"IssuesEvent":8,"WatchEvent":14,"MemberEvent":1,"IssueCommentEvent":2,"PushEvent":11,"PullRequestReviewEvent":2,"PullRequestEvent":1,"ForkEvent":1}},"keywords":["antlr4","besser","business-rules","business-rules-engine","evaluating","grammar","interpreter","model","ocl","parsing","uml","verification"],"dependencies":[{"ecosystem":"pypi","filepath":"docs/requirements.txt","sha":null,"kind":"manifest","created_at":"2024-05-30T10:01:19.958Z","updated_at":"2024-05-30T10:01:19.958Z","repository_link":"https://github.com/BESSER-PEARL/B-OCL-Interpreter/blob/main/docs/requirements.txt","dependencies":[{"id":18310800071,"package_name":"sphinx","ecosystem":"pypi","requirements":"==7.2.3","direct":true,"kind":"runtime","optional":false},{"id":18310800072,"package_name":"sphinx-copybutton","ecosystem":"pypi","requirements":"==0.5.2","direct":true,"kind":"runtime","optional":false},{"id":18310800073,"package_name":"sphinx-paramlinks","ecosystem":"pypi","requirements":"==0.6.0","direct":true,"kind":"runtime","optional":false},{"id":18310800098,"package_name":"furo","ecosystem":"pypi","requirements":"==2023.8.19","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2024-05-30T10:01:22.027Z","updated_at":"2024-05-30T10:01:22.027Z","repository_link":"https://github.com/BESSER-PEARL/B-OCL-Interpreter/blob/main/pyproject.toml","dependencies":[]},{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2024-05-30T10:01:22.106Z","updated_at":"2024-05-30T10:01:22.106Z","repository_link":"https://github.com/BESSER-PEARL/B-OCL-Interpreter/blob/main/requirements.txt","dependencies":[{"id":18310800173,"package_name":"Arpeggio","ecosystem":"pypi","requirements":"==2.0.2","direct":true,"kind":"runtime","optional":false},{"id":18310800191,"package_name":"colorama","ecosystem":"pypi","requirements":"==0.4.6","direct":true,"kind":"runtime","optional":false},{"id":18310800192,"package_name":"iniconfig","ecosystem":"pypi","requirements":"==2.0.0","direct":true,"kind":"runtime","optional":false},{"id":18310800193,"package_name":"packaging","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":18310800194,"package_name":"pluggy","ecosystem":"pypi","requirements":"==1.2.0","direct":true,"kind":"runtime","optional":false},{"id":18310800195,"package_name":"pytest","ecosystem":"pypi","requirements":"==7.4.0","direct":true,"kind":"runtime","optional":false},{"id":18310800196,"package_name":"setuptools","ecosystem":"pypi","requirements":"==68.2.2","direct":true,"kind":"runtime","optional":false},{"id":18310800197,"package_name":"textX","ecosystem":"pypi","requirements":"==3.1.1","direct":true,"kind":"runtime","optional":false},{"id":18310800210,"package_name":"jinja2","ecosystem":"pypi","requirements":"==3.1.2","direct":true,"kind":"runtime","optional":false},{"id":18310800211,"package_name":"antlr4-python3-runtime","ecosystem":"pypi","requirements":"==4.13.1","direct":true,"kind":"runtime","optional":false},{"id":18310800212,"package_name":"requests","ecosystem":"pypi","requirements":"==2.31.0","direct":true,"kind":"runtime","optional":false},{"id":18310800213,"package_name":"fastapi","ecosystem":"pypi","requirements":"==0.110.0","direct":true,"kind":"runtime","optional":false},{"id":18310800214,"package_name":"pydantic","ecosystem":"pypi","requirements":"==2.6.3","direct":true,"kind":"runtime","optional":false},{"id":18310800215,"package_name":"uvicorn","ecosystem":"pypi","requirements":"==0.28.0","direct":true,"kind":"runtime","optional":false},{"id":18310800216,"package_name":"besser","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]}],"score":null,"created_at":"2025-09-09T00:16:01.967Z","updated_at":"2025-10-07T08:36:13.188Z","avatar_url":"https://github.com/BESSER-PEARL.png","language":"Python","category":null,"sub_category":null,"monthly_downloads":41,"funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://science.ecosyste.ms/api/v1/projects/143500","html_url":"https://science.ecosyste.ms/projects/143500"}