{"id":17131334,"url":"https://github.com/bretttolbert/verbecc-svc","last_synced_at":"2026-02-28T10:35:01.926Z","repository":{"id":49597375,"uuid":"94664761","full_name":"bretttolbert/verbecc-svc","owner":"bretttolbert","description":"Dockerized Python microservice with REST API for verbs conjugation in French, Spanish and Portuguese","archived":false,"fork":false,"pushed_at":"2025-12-11T01:54:05.000Z","size":207,"stargazers_count":23,"open_issues_count":2,"forks_count":8,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-11T17:24:01.875Z","etag":null,"topics":["conjugation","conjugator","french","french-language","french-nlp","linguistics","machine-learning","natural-language","natural-language-processing","nlp","portuguese-language","portuguese-verbs","romanian","romanian-language","scikit-learn","spanish-language","spanish-verbs","verb-conjugation"],"latest_commit_sha":null,"homepage":"http://verbe.cc","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bretttolbert.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-06-18T04:22:55.000Z","updated_at":"2025-11-22T20:43:50.000Z","dependencies_parsed_at":"2023-01-31T07:46:02.965Z","dependency_job_id":null,"html_url":"https://github.com/bretttolbert/verbecc-svc","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/bretttolbert/verbecc-svc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bretttolbert%2Fverbecc-svc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bretttolbert%2Fverbecc-svc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bretttolbert%2Fverbecc-svc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bretttolbert%2Fverbecc-svc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bretttolbert","download_url":"https://codeload.github.com/bretttolbert/verbecc-svc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bretttolbert%2Fverbecc-svc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29930344,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-28T09:58:13.507Z","status":"ssl_error","status_checked_at":"2026-02-28T09:57:57.047Z","response_time":90,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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"}},"keywords":["conjugation","conjugator","french","french-language","french-nlp","linguistics","machine-learning","natural-language","natural-language-processing","nlp","portuguese-language","portuguese-verbs","romanian","romanian-language","scikit-learn","spanish-language","spanish-verbs","verb-conjugation"],"created_at":"2024-10-14T19:23:16.399Z","updated_at":"2026-02-28T10:35:01.917Z","avatar_url":"https://github.com/bretttolbert.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# verbecc-svc\n\nDockerized microservice with REST API for conjugation of any verb in French, Catalan, Spanish, Italian, Portuguese and Romanian\n\n## Live demo\nhttp://verbe.cc/vcfr/conjugate/fr/manger\n\n## Features\n* Self-contained dockerized microservice\n* Unit tested\n* Convenient JSON REST API\n* Dependencies: [verbecc](https://github.com/bretttolbert/verbecc)\n\n## Credits\nCreated with [verbecc](https://github.com/bretttolbert/verbecc), [FastAPI](https://github.com/tiangolo/fastapi), [uvicorn](https://github.com/encode/uvicorn), [starlette](https://github.com/encode/starlette), [docker](https://docker.com), [docker-compose](https://docs.docker.com/compose/), [pytest](https://docs.pytest.org) and [python](https://www.python.org/).\n\n\n## Quick Start (Docker)\n```bash\ndocker pull bretttolbert/verbecc-svc:latest\ndocker run -d -p 8000:8000 bretttolbert/verbecc-svc:latest\nxdg-open http://localhost:8000/conjugate/fr/manger\n```\n\n## Development\n- See [Dev](./doc/dev.md)\n\n## Usage Examples\n\n* [http://localhost:8000/conjugate/fr/manger](http://localhost:8000/conjugate/fr/manger)\n```json\n{\n  \"value\": {\n    \"verb\": {\n      \"infinitive\": \"manger\",\n      \"template\": \"man:ger\",\n      \"translation_en\": \"eat\",\n      \"stem\": \"man\"\n    },\n    \"moods\": {\n      \"infinitif\": {\n        \"infinitif-présent\": [\n          \"manger\"\n        ]\n      },\n      \"indicatif\": {\n        \"présent\": [\n          \"je mange\",\n          \"tu manges\",\n          \"il mange\",\n          \"nous mangeons\",\n          \"vous mangez\",\n          \"ils mangent\"\n        ],\n        \"imparfait\": [\n          \"je mangeais\",\n          \"tu mangeais\",\n          \"il mangeait\",\n          \"nous mangions\",\n          \"vous mangiez\",\n          \"ils mangeaient\"\n        ],\n        \"futur-simple\": [\n          \"je mangerai\",\n          \"tu mangeras\",\n          \"il mangera\",\n          \"nous mangerons\",\n          \"vous mangerez\",\n          \"ils mangeront\"\n        ],\n        \"passé-simple\": [\n          \"je mangeai\",\n          \"tu mangeas\",\n          \"il mangea\",\n          \"nous mangeâmes\",\n          \"vous mangeâtes\",\n          \"ils mangèrent\"\n        ],\n        \"passé-composé\": [\n          \"j'ai mangé\",\n          \"tu as mangé\",\n          \"il a mangé\",\n          \"nous avons mangé\",\n          \"vous avez mangé\",\n          \"ils ont mangé\"\n        ],\n        \"plus-que-parfait\": [\n          \"j'avais mangé\",\n          \"tu avais mangé\",\n          \"il avait mangé\",\n          \"nous avions mangé\",\n          \"vous aviez mangé\",\n          \"ils avaient mangé\"\n        ],\n        \"futur-antérieur\": [\n          \"j'aurai mangé\",\n          \"tu auras mangé\",\n          \"il aura mangé\",\n          \"nous aurons mangé\",\n          \"vous aurez mangé\",\n          \"ils auront mangé\"\n        ],\n        \"passé-antérieur\": [\n          \"j'eus mangé\",\n          \"tu eus mangé\",\n          \"il eut mangé\",\n          \"nous eûmes mangé\",\n          \"vous eûtes mangé\",\n          \"ils eurent mangé\"\n        ]\n      },\n      \"conditionnel\": {\n        \"présent\": [\n          \"je mangerais\",\n          \"tu mangerais\",\n          \"il mangerait\",\n          \"nous mangerions\",\n          \"vous mangeriez\",\n          \"ils mangeraient\"\n        ],\n        \"passé\": [\n          \"j'aurais mangé\",\n          \"tu aurais mangé\",\n          \"il aurait mangé\",\n          \"nous aurions mangé\",\n          \"vous auriez mangé\",\n          \"ils auraient mangé\"\n        ]\n      },\n      \"subjonctif\": {\n        \"présent\": [\n          \"que je mange\",\n          \"que tu manges\",\n          \"qu'il mange\",\n          \"que nous mangions\",\n          \"que vous mangiez\",\n          \"qu'ils mangent\"\n        ],\n        \"imparfait\": [\n          \"que je mangeasse\",\n          \"que tu mangeasses\",\n          \"qu'il mangeât\",\n          \"que nous mangeassions\",\n          \"que vous mangeassiez\",\n          \"qu'ils mangeassent\"\n        ],\n        \"passé\": [\n          \"que j'aie mangé\",\n          \"que tu aies mangé\",\n          \"qu'il ait mangé\",\n          \"que nous ayons mangé\",\n          \"que vous ayez mangé\",\n          \"qu'ils aient mangé\"\n        ],\n        \"plus-que-parfait\": [\n          \"que j'eusse mangé\",\n          \"que tu eusses mangé\",\n          \"qu'il eût mangé\",\n          \"que nous eussions mangé\",\n          \"que vous eussiez mangé\",\n          \"qu'ils eussent mangé\"\n        ]\n      },\n      \"imperatif\": {\n        \"imperatif-présent\": [\n          \"mange\",\n          \"mangeons\",\n          \"mangez\"\n        ],\n        \"imperatif-passé\": [\n          \"aie mangé\",\n          \"ayons mangé\",\n          \"ayez mangé\"\n        ]\n      },\n      \"participe\": {\n        \"participe-présent\": [\n          \"mangeant\"\n        ],\n        \"participe-passé\": [\n          \"mangé\",\n          \"mangés\",\n          \"mangée\",\n          \"mangées\"\n        ]\n      }\n    }\n  }\n}\n```\n\n* http://localhost:8000/conjugate/fr/se+lever\n```\n{\n  \"value\": {\n    \"verb\": {\n      \"infinitive\": \"lever\",\n      \"template\": \"l:ever\",\n      \"translation_en\": \"lift\",\n      \"stem\": \"l\"\n    },\n    \"moods\": {\n      \"infinitif\": {\n        \"infinitif-présent\": [\n          \"se lever\"\n        ]\n      },\n      \"indicatif\": {\n        \"présent\": [\n          \"je me lève\",\n          \"tu te lèves\",\n          \"il se lève\",\n          \"nous nous levons\",\n          \"vous vous levez\",\n          \"ils se lèvent\"\n        ],\n        \"imparfait\": [\n          \"je me levais\",\n          \"tu te levais\",\n          \"il se levait\",\n          \"nous nous levions\",\n          \"vous vous leviez\",\n          \"ils se levaient\"\n        ],\n        \"futur-simple\": [\n          \"je me lèverai\",\n          \"tu te lèveras\",\n          \"il se lèvera\",\n          \"nous nous lèverons\",\n          \"vous vous lèverez\",\n          \"ils se lèveront\"\n        ],\n        \"passé-simple\": [\n          \"je me levai\",\n          \"tu te levas\",\n          \"il se leva\",\n          \"nous nous levâmes\",\n          \"vous vous levâtes\",\n          \"ils se levèrent\"\n        ],\n        \"passé-composé\": [\n          \"je me suis levé\",\n          \"tu t'es levé\",\n          \"il s'est levé\",\n          \"nous nous sommes levés\",\n          \"vous vous êtes levés\",\n          \"ils se sont levés\"\n        ],\n        \"plus-que-parfait\": [\n          \"je m'étais levé\",\n          \"tu t'étais levé\",\n          \"il s'était levé\",\n          \"nous nous étions levés\",\n          \"vous vous étiez levés\",\n          \"ils s'étaient levés\"\n        ],\n        \"futur-antérieur\": [\n          \"je me serai levé\",\n          \"tu te seras levé\",\n          \"il se sera levé\",\n          \"nous nous serons levés\",\n          \"vous vous serez levés\",\n          \"ils se seront levés\"\n        ],\n        \"passé-antérieur\": [\n          \"je me fus levé\",\n          \"tu te fus levé\",\n          \"il se fut levé\",\n          \"nous nous fûmes levés\",\n          \"vous vous fûtes levés\",\n          \"ils se furent levés\"\n        ]\n      },\n      \"conditionnel\": {\n        \"présent\": [\n          \"je me lèverais\",\n          \"tu te lèverais\",\n          \"il se lèverait\",\n          \"nous nous lèverions\",\n          \"vous vous lèveriez\",\n          \"ils se lèveraient\"\n        ],\n        \"passé\": [\n          \"je me serais levé\",\n          \"tu te serais levé\",\n          \"il se serait levé\",\n          \"nous nous serions levés\",\n          \"vous vous seriez levés\",\n          \"ils se seraient levés\"\n        ]\n      },\n      \"subjonctif\": {\n        \"présent\": [\n          \"que je me lève\",\n          \"que tu te lèves\",\n          \"qu'il se lève\",\n          \"que nous nous levions\",\n          \"que vous vous leviez\",\n          \"qu'ils se lèvent\"\n        ],\n        \"imparfait\": [\n          \"que je me levasse\",\n          \"que tu te levasses\",\n          \"qu'il se levât\",\n          \"que nous nous levassions\",\n          \"que vous vous levassiez\",\n          \"qu'ils se levassent\"\n        ],\n        \"passé\": [\n          \"que je me sois levé\",\n          \"que tu te sois levé\",\n          \"qu'il se soit levé\",\n          \"que nous nous soyons levés\",\n          \"que vous vous soyez levés\",\n          \"qu'ils se soient levés\"\n        ],\n        \"plus-que-parfait\": [\n          \"que je me fusse levé\",\n          \"que tu te fusses levé\",\n          \"qu'il se fût levé\",\n          \"que nous nous fussions levés\",\n          \"que vous vous fussiez levés\",\n          \"qu'ils se fussent levés\"\n        ]\n      },\n      \"imperatif\": {\n        \"imperatif-présent\": [\n          \"lève-toi\",\n          \"levons-nous\",\n          \"levez-vous\"\n        ],\n        \"imperatif-passé\": []\n      },\n      \"participe\": {\n        \"participe-présent\": [\n          \"se levant\"\n        ],\n        \"participe-passé\": [\n          \"s'étant levé\",\n          \"s'étant levés\",\n          \"s'étant levée\",\n          \"s'étant levées\"\n        ]\n      }\n    }\n  }\n}\n```\n\n* http://localhost:8000/find/infinitive/fr/manger\n```\n{\n  \"value\": {\n    \"infinitive\": \"manger\",\n    \"template\": \"man:ger\",\n    \"translation_en\": \"eat\"\n  }\n}\n```\n\n* http://localhost:8000/search/infinitive/fr/Se+le\n```\n{\n  \"value\": [\n    \"se lécher\",\n    \"se léchouiller\",\n    \"se légaliser\",\n    \"se légender\",\n    \"se légiférer\",\n    \"se légitimer\",\n    \"se léguer\",\n    \"se lénifier\",\n    \"se léser\",\n    \"se lésiner\"\n  ]\n}\n```\n\n* http://localhost:8000/conjugate/fr/manger?mood=indicatif\n```\n{\n  \"value\": {\n    \"présent\": [\n      \"je mange\",\n      \"tu manges\",\n      \"il mange\",\n      \"nous mangeons\",\n      \"vous mangez\",\n      \"ils mangent\"\n    ],\n    \"imparfait\": [\n      \"je mangeais\",\n      \"tu mangeais\",\n      \"il mangeait\",\n      \"nous mangions\",\n      \"vous mangiez\",\n      \"ils mangeaient\"\n    ],\n    \"futur-simple\": [\n      \"je mangerai\",\n      \"tu mangeras\",\n      \"il mangera\",\n      \"nous mangerons\",\n      \"vous mangerez\",\n      \"ils mangeront\"\n    ],\n    \"passé-simple\": [\n      \"je mangeai\",\n      \"tu mangeas\",\n      \"il mangea\",\n      \"nous mangeâmes\",\n      \"vous mangeâtes\",\n      \"ils mangèrent\"\n    ],\n    \"passé-composé\": [\n      \"j'ai mangé\",\n      \"tu as mangé\",\n      \"il a mangé\",\n      \"nous avons mangé\",\n      \"vous avez mangé\",\n      \"ils ont mangé\"\n    ],\n    \"plus-que-parfait\": [\n      \"j'avais mangé\",\n      \"tu avais mangé\",\n      \"il avait mangé\",\n      \"nous avions mangé\",\n      \"vous aviez mangé\",\n      \"ils avaient mangé\"\n    ],\n    \"futur-antérieur\": [\n      \"j'aurai mangé\",\n      \"tu auras mangé\",\n      \"il aura mangé\",\n      \"nous aurons mangé\",\n      \"vous aurez mangé\",\n      \"ils auront mangé\"\n    ],\n    \"passé-antérieur\": [\n      \"j'eus mangé\",\n      \"tu eus mangé\",\n      \"il eut mangé\",\n      \"nous eûmes mangé\",\n      \"vous eûtes mangé\",\n      \"ils eurent mangé\"\n    ]\n  }\n}\n```\n\n* http://localhost:8000/conjugate/fr/manger?mood=indicatif\u0026tense=passé-composé\n```\n{\n  \"value\": [\n      \"j'ai mangé\",\n      \"tu as mangé\",\n      \"il a mangé\",\n      \"nous avons mangé\",\n      \"vous avez mangé\",\n      \"ils ont mangé\"\n    ]\n}\n```\n\n* http://localhost:8000/find/conjugation-template/fr/man:ger\n* http://localhost:8000/find/conjugation-template/es/deb:er\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbretttolbert%2Fverbecc-svc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbretttolbert%2Fverbecc-svc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbretttolbert%2Fverbecc-svc/lists"}