{"id":28737563,"url":"https://github.com/ta-lib/ta-lib","last_synced_at":"2025-07-14T05:32:52.937Z","repository":{"id":44369432,"uuid":"66132152","full_name":"TA-Lib/ta-lib","owner":"TA-Lib","description":"TA-Lib (Core C Library)","archived":false,"fork":false,"pushed_at":"2025-06-30T05:20:34.000Z","size":211434,"stargazers_count":1062,"open_issues_count":17,"forks_count":216,"subscribers_count":26,"default_branch":"main","last_synced_at":"2025-07-02T14:19:13.984Z","etag":null,"topics":["financial","series-analysis","ta-lib","technical-analysis"],"latest_commit_sha":null,"homepage":"https://ta-lib.org/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TA-Lib.png","metadata":{"files":{"readme":"README-DEVS.md","changelog":"CHANGELOG.md","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,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-08-20T06:28:16.000Z","updated_at":"2025-07-02T05:03:21.000Z","dependencies_parsed_at":"2025-06-23T06:34:24.255Z","dependency_job_id":null,"html_url":"https://github.com/TA-Lib/ta-lib","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/TA-Lib/ta-lib","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TA-Lib%2Fta-lib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TA-Lib%2Fta-lib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TA-Lib%2Fta-lib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TA-Lib%2Fta-lib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TA-Lib","download_url":"https://codeload.github.com/TA-Lib/ta-lib/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TA-Lib%2Fta-lib/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265245952,"owners_count":23734108,"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":["financial","series-analysis","ta-lib","technical-analysis"],"created_at":"2025-06-16T02:42:32.073Z","updated_at":"2025-07-14T05:32:52.929Z","avatar_url":"https://github.com/TA-Lib.png","language":"C","readme":"# Instructions for TA-Lib maintainers\n**If you only want to install and use TA-Lib, there is nothing here for you... check instead https://ta-lib.org/install **\n\nYou must have python installed.\n\n## How to push changes to Github?\nModifications (or PR) must be made on the 'dev' branch.\n\nBefore committing, run ```scripts/sync.py``` to:\n - Ensure your local dev branch is up-to-date with both remote dev and main branches.\n - Do various check and fixes on your code (e.g. update \"x.y.z\" versioning in various files).\n\nMerge to main branch are done with ```scripts/merge.py``` by TA-Lib maintainers with the proper permissions.\n\n## How to update the \"./configure\" script\nThis will do all the needed autotools steps:\n```$ autoreconf -fi```\n\nRepeat whenever you need to refresh the makefiles.\n\n## How to build with CMakeLists.txt\n```\n$ cd ta-lib\n$ mkdir build\n$ cd build\n$ cmake ..\n$ make\n```\nLibraries will be in ```ta-lib/build``` and executable in ```ta-lib/bin```\n\n## How to run gen_code\nAfter ```make```, call ```gen_code``` located in ta-lib/bin\n\nDo this to refresh many files and code variant (Rust, Java etc...)\n\nYou should call ```make`` again after gen_code to verify if the\npotentially updated C code is still compiling.\n\n\n## How to run ta_regtest\nAfter ```make```, call ```ta_regtest``` located in ta-lib/src/tools\n\nExit code is 0 on success\n\n\n## How to do a new release?\n\nAny dev with permission to merge to main branch can do a release.\n\n(1) On the dev branch, edit the VERSION file in the root of the repos.\n\n(2) Run \"./scripts/sync.py\". This ensures your dev branch is up-to-date (among other things).\n\n(3) Push to the dev branch.\n\n(4) Manually trig the \"nightly dev\" Github action. This will regenerate and test for **all** platforms. If you do not trig it, it will get run anyway once per day.\n\n(5) Merge dev into main with \"./scripts/merge.py\". At this point, the main branch is the release candidate with all the assets under \"dist\" folder.\n\n(6) Manually trig the \"nightly main\" Github action. This will perform a last round of check prior to alloweing for the release. If you do not trig it, it will get run anyway once per day.\n\n(7) Manually trig the \"Release (step-1)\" Github action on main branch. This will tag, generate a draft release and attach all assets from the dist/ directory.\n\n(8) Optionally edit the draft \"Release notes\" on the Github website and verify that everything looks fine.\n\n(9) Manually trig \"Release (step 2)\" Github action. This will make the release public, update the website and create a PR on homebrew-core.\n\n(10) Verify that https://ta-lib.org/install reflects the new version.\n\n(11) Monitor that the PR on homebrew-core is working as expected. The following formula will eventually be updated (may take an hour):\nhttps://github.com/Homebrew/homebrew-core/blob/30106807361198c58a395de65547694427adf229/Formula/t/ta-lib.rb\n\n## I want to modify the code... should I care to rebuild the packages?\nNo.\n\nCommit your source code changes in devs and... just let the Github action do all the repackaging for you.\n\nIt may take up to one day for the CI to regenerate and test for **all** platforms.\n\nThe rest of this section is only if you want to re-package locally.\n\nYou can call the ```scripts/package.py``` to generate the packages for your hosting platform.\n\nYou can test your packages with ```scripts/test-dist.py```. This verifies from a TA-Lib user perspective. Notably, this simulates a ta-lib-python user.\n\nTry to avoid pushing your generated packages to the TA-Lib repo, but do not worry if you do. As needed, they will get overwritten by the \"nightly dev\" CI.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fta-lib%2Fta-lib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fta-lib%2Fta-lib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fta-lib%2Fta-lib/lists"}