{"id":26326453,"url":"https://github.com/alnvdl/oks","last_synced_at":"2025-11-01T05:02:57.872Z","repository":{"id":152186040,"uuid":"164749166","full_name":"alnvdl/oks","owner":"alnvdl","description":"A small ERP system tailor-made for a grinding wheel company.","archived":false,"fork":false,"pushed_at":"2024-01-06T18:11:14.000Z","size":434,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-01-07T18:49:37.372Z","etag":null,"topics":["erp","gtk","pygtk","python","sqlite"],"latest_commit_sha":null,"homepage":"","language":"Python","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/alnvdl.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}},"created_at":"2019-01-08T23:16:24.000Z","updated_at":"2024-01-07T18:49:37.373Z","dependencies_parsed_at":null,"dependency_job_id":"e71792a0-d06c-4a9f-81a5-23ebe9c4a29f","html_url":"https://github.com/alnvdl/oks","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alnvdl%2Foks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alnvdl%2Foks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alnvdl%2Foks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alnvdl%2Foks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alnvdl","download_url":"https://codeload.github.com/alnvdl/oks/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243784101,"owners_count":20347409,"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":["erp","gtk","pygtk","python","sqlite"],"created_at":"2025-03-15T19:39:42.572Z","updated_at":"2025-11-01T05:02:57.822Z","avatar_url":"https://github.com/alnvdl.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Oks\n\nOks is a small ERP system tailor-made for a grinding wheel company in Brazil.\nIt has been in use in production for more than 15 years.\n\nIt features:\n\n- Customer/supplier management\n- Inventory control\n- Order, sales and manufacturing management\n- Accounts payable/receivable\n- Several customizable reports\n\n![Oks](gui/screenshot.png)\n\nIt was originally built using Python 2, PyGTK and SQLite, and has since been\nupdated to Python 3 and the new GTK/GI bindings.\n\nIt was mostly developed in 2008, when I (Allan) was 18 years old, before I\nstarted attending university. It was my first real big project. I am proud of\nsome parts of it, namely the database model, the abstractions I came up with\nand the *relative* tidiness of the code in certain parts.\n\nI'm a little ashamed by the lack of proper testing (there are only some\nintegration tests) and some really questionable decisions, like having a\ngigantic singleton for the GUI. But this thing still works after all these\nyears and is still used everyday as of 2023 :)\n\nThe user interface only supports Portuguese (despite all of the code being in\nEnglish).\n\nThe company for which Oks was developed allows the code to be published here\nunder the Apache 2.0 license. The icons were made by Luiz Henrique Camargo.\n\n## Running on a desktop\nOn a vanilla Ubuntu 22.04 desktop, just `cd` into the root folder and run:\n\n    $ python3 oks.py\n\n## Running on a server\nOn a vanilla Ubuntu 22.04 minimal server or container, install the following\npackages first:\n\n    $ sudo apt-get install python3-gi python3-gi-cairo libgtk-3-0 \\\n        gir1.2-gtk-3.0 gir1.2-gtk-3.0 gir1.2-cairo gir1.2-gtk-3.0 \\\n        python3-cairo yaru-theme-icon evince\n\nTo avoid quirky behavior involving mnemonics in GTK 3.0 when using Broadway,\nmake sure to disable them with:\n\n    mkdir -p ~/.config/gtk-3.0\n    cat \u003c\u003cEOF \u003e ~/.config/gtk-3.0/settings.ini\n    [Settings]\n    gtk-enable-mnemonics = 0\n    EOF\n\nThen start `broadwayd`:\n\n    $ broadwayd :5\n\nAnd start Oks:\n\n    $ GDK_BACKEND=broadway BROADWAY_DISPLAY=:5 python3 oks.py\n\nIt will be available at http://localhost:8085.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falnvdl%2Foks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falnvdl%2Foks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falnvdl%2Foks/lists"}