{"id":15008922,"url":"https://github.com/glubs9/job-oriented-concurrency","last_synced_at":"2026-03-15T15:44:03.172Z","repository":{"id":137536823,"uuid":"227237146","full_name":"Glubs9/Job-Oriented-Concurrency","owner":"Glubs9","description":"A python library for concurrency based on jobs and dependencies between them.","archived":false,"fork":false,"pushed_at":"2019-12-12T04:33:30.000Z","size":14,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-28T04:17:41.795Z","etag":null,"topics":["concurrency","job-orinented-concurrency","python","python-2","python-3","python-concurrency"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Glubs9.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2019-12-10T23:48:03.000Z","updated_at":"2019-12-12T04:33:32.000Z","dependencies_parsed_at":"2024-08-01T07:03:53.817Z","dependency_job_id":null,"html_url":"https://github.com/Glubs9/Job-Oriented-Concurrency","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Glubs9%2FJob-Oriented-Concurrency","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Glubs9%2FJob-Oriented-Concurrency/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Glubs9%2FJob-Oriented-Concurrency/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Glubs9%2FJob-Oriented-Concurrency/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Glubs9","download_url":"https://codeload.github.com/Glubs9/Job-Oriented-Concurrency/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243204773,"owners_count":20253415,"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":["concurrency","job-orinented-concurrency","python","python-2","python-3","python-concurrency"],"created_at":"2024-09-24T19:21:43.447Z","updated_at":"2025-12-24T16:00:04.349Z","avatar_url":"https://github.com/Glubs9.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Job-Oriented-Concurrency\nA python library for concurrency based on jobs and dependencies between them.\n\n# Note\nThis might already exist but I'm not sure. This was made more for fun than for anything else.\n\n# To-Do\nFix wording in this document    \nAdd comments to the code    \nPublish to PyPi   \nCleanup/Refactor the code    \n\n# Description\nJob Oriented Concurrencyis a system of building concurrency where you define jobs, basically functions, and dependencies/connections. These connections are of the form a tree with the starting functions being called first with the functions that are dependent on the results from those functions being called with the values of the start functions finally returning the value of the optional end function. The concurrency comes from the fact that any function that is not dependent on any other function is able to be run at the same time as other functions. This effectively works as optimization (note: the setting up of the tree and handling might take longer than very light functions).\n\n# How to use\nTo use the library/framework you first have to initalize an object of the type JocTree.     \nTo add a job/function to the tree use the method [JocTree].add_func([function])         \nTo add a dependency to the tree between two functions use the method [JocTree].add_connect([parent function], [child function])                \n      \nto add a start function, or a function that will be called when the tree runs use the method [JocTree].add_start_func([function])    \nto add an end function, or the function that the tree will use as the return value use the method [JocTree].add_end_func([function])     \nnote: there can only be one end function and calling add_end_func again will change the end function. It will not delete the other function or the connections it has.      \nto delete anything just change the add in the method signature to del.      \nnote: to delete a function from the tree it must have no connections. The tree will raise a value error.      \nto run the tree use the method [JocTree].run()      \n     \nAll functions that are being added to the tree must take one parametter which will be a dictionary. the dictionary will have keys of the names of functions that the function has a dependency for/is connected to (function names can be found with the value [function].__name__) and the return values of those functions.      \n      \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglubs9%2Fjob-oriented-concurrency","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fglubs9%2Fjob-oriented-concurrency","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglubs9%2Fjob-oriented-concurrency/lists"}