{"id":15011,"name":"nl-causal-representations","description":"This is the code for the paper Jacobian-based Causal Discovery with Nonlinear ICA, demonstrating how identifiable representations (particularly, with Nonlinear ICA) can be used to extract the causal graph from an underlying structural equation model (SEM).","url":"https://github.com/rpatrik96/nl-causal-representations","last_synced_at":"2025-09-04T22:37:40.306Z","repository":{"id":85390461,"uuid":"361117778","full_name":"rpatrik96/nl-causal-representations","owner":"rpatrik96","description":"This is the code for the paper Jacobian-based Causal Discovery with Nonlinear ICA, demonstrating how identifiable representations (particularly, with Nonlinear ICA) can be used to extract the causal graph from an underlying structural equation model (SEM).","archived":false,"fork":false,"pushed_at":"2024-09-05T19:44:46.000Z","size":6990,"stargazers_count":18,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-03T17:54:54.633Z","etag":null,"topics":["causal-discovery","causal-discovery-methods","causal-inference","causality","deep-learning","deep-neural-networks","deeplearning","ica","independent-component-analysis","machine-learning","structural-causal-model"],"latest_commit_sha":null,"homepage":"","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/rpatrik96.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-04-24T09:10:11.000Z","updated_at":"2025-03-26T12:45:27.000Z","dependencies_parsed_at":"2024-06-28T21:45:45.218Z","dependency_job_id":"ffbd881e-4662-4ed5-9d10-12ef444016cd","html_url":"https://github.com/rpatrik96/nl-causal-representations","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/rpatrik96/nl-causal-representations","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rpatrik96%2Fnl-causal-representations","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rpatrik96%2Fnl-causal-representations/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rpatrik96%2Fnl-causal-representations/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rpatrik96%2Fnl-causal-representations/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rpatrik96","download_url":"https://codeload.github.com/rpatrik96/nl-causal-representations/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rpatrik96%2Fnl-causal-representations/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273685048,"owners_count":25149719,"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-04T02:00:08.968Z","response_time":61,"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":"rpatrik96","name":"Patrik Reizinger","uuid":"20856360","kind":"user","description":"PhD student at IMPRS-IS (University of Tübingen) and ELLIS. Looking into causality and representation learning.","email":"","website":null,"location":"Germany","twitter":"rpatrik96","company":"IMPRS-IS, ELLIS","icon_url":"https://avatars.githubusercontent.com/u/20856360?u=456dfdb0de6eaedeb159eead46384eac362e01bd\u0026v=4","repositories_count":4,"last_synced_at":"2023-03-06T09:30:52.459Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rpatrik96","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-16T08:44:17.548Z","updated_at":"2023-03-06T09:30:52.489Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rpatrik96","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rpatrik96/repositories"},"packages":[],"commits":{"id":10075489,"full_name":"rpatrik96/nl-causal-representations","default_branch":"master","committers":[{"name":"Patrik Reizinger","email":"prmedia17@gmail.com","login":"rpatrik96","count":617},{"name":"Patrik Reizinger","email":"preizinger@bg-slurmb-login1.novalocal","login":null,"count":92},{"name":"Yash Sharma","email":"ysharma1126@gmail.com","login":"ysharma1126","count":11},{"name":"Patrik Reizinger","email":"preizinger@bg-slurmb-bm-2.novalocal","login":null,"count":9},{"name":"Patrik Reizinger","email":"preizinger@bg-slurmb-bm-3.novalocal","login":null,"count":7},{"name":"Patrik Reizinger","email":"preizinger@slurm-bm-34.novalocal","login":null,"count":6},{"name":"Patrik Reizinger","email":"preizinger@slurm-bm-57.novalocal","login":null,"count":6},{"name":"Patrik Reizinger","email":"preizinger@slurm-bm-46.novalocal","login":null,"count":4},{"name":"Patrik Reizinger","email":"preizinger@slurm-bm-70.novalocal","login":null,"count":4},{"name":"Patrik Reizinger","email":"preizinger@slurm-bm-18.novalocal","login":null,"count":3},{"name":"Patrik Reizinger","email":"preizinger@slurm-bm-43.novalocal","login":null,"count":3},{"name":"Patrik Reizinger","email":"preizinger@slurm-bm-63.novalocal","login":null,"count":3},{"name":"Patrik Reizinger","email":"preizinger@slurm-bm-08.novalocal","login":null,"count":2},{"name":"Patrik Reizinger","email":"preizinger@slurm-bm-20.novalocal","login":null,"count":2},{"name":"Patrik Reizinger","email":"preizinger@slurm-bm-23.novalocal","login":null,"count":2},{"name":"Patrik Reizinger","email":"preizinger@slurm-bm-38.novalocal","login":null,"count":2},{"name":"Patrik Reizinger","email":"preizinger@slurm-bm-39.novalocal","login":null,"count":2},{"name":"Patrik Reizinger","email":"preizinger@slurm-bm-44.novalocal","login":null,"count":2},{"name":"Patrik Reizinger","email":"preizinger@slurm-bm-54.novalocal","login":null,"count":2},{"name":"Patrik Reizinger","email":"preizinger@bg-slurmb-bm1.novalocal","login":null,"count":1},{"name":"Patrik Reizinger","email":"preizinger@slurm-bm-12.novalocal","login":null,"count":1},{"name":"Patrik Reizinger","email":"preizinger@slurm-bm-13.novalocal","login":null,"count":1},{"name":"Patrik Reizinger","email":"preizinger@slurm-bm-14.novalocal","login":null,"count":1},{"name":"Patrik Reizinger","email":"preizinger@slurm-bm-28.novalocal","login":null,"count":1},{"name":"Patrik Reizinger","email":"preizinger@slurm-bm-41.novalocal","login":null,"count":1}],"total_commits":785,"total_committers":25,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":31.4,"dds":0.21401273885350314,"past_year_committers":[],"past_year_total_commits":0,"past_year_total_committers":0,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":0.0,"past_year_dds":0.0,"last_synced_at":"2025-07-03T18:54:24.258Z","last_synced_commit":"a5880c1e4051603d65672996b7c8ff204dabbe37","created_at":"2025-05-26T01:15:22.721Z","updated_at":"2025-07-03T18:54:24.259Z","commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/rpatrik96%2Fnl-causal-representations/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-04T00:00:25.936Z","repositories_count":5480019,"commits_count":853389012,"contributors_count":31098138,"owners_count":906558,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"rpatrik96/nl-causal-representations","html_url":"https://github.com/rpatrik96/nl-causal-representations","last_synced_at":"2025-07-03T17:36:15.652Z","status":null,"issues_count":2,"pull_requests_count":8,"avg_time_to_close_issue":265786.5,"avg_time_to_close_pull_request":2744.25,"issues_closed_count":2,"pull_requests_closed_count":8,"pull_request_authors_count":1,"issue_authors_count":2,"avg_comments_per_issue":1.5,"avg_comments_per_pull_request":0.0,"merged_pull_requests_count":8,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"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-05-26T01:15:22.945Z","updated_at":"2025-07-03T17:36:15.652Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rpatrik96%2Fnl-causal-representations","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rpatrik96%2Fnl-causal-representations/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":2},"pull_request_author_associations_count":{"OWNER":8},"issue_authors":{"yplusble":1,"rmwu":1},"pull_request_authors":{"rpatrik96":8},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-08-27T00:00:29.036Z","repositories_count":8355740,"issues_count":15726116,"pull_requests_count":37386842,"authors_count":5664771,"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":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{},"past_year_issue_authors":{},"past_year_pull_request_authors":{},"maintainers":[{"login":"rpatrik96","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rpatrik96"}],"active_maintainers":[]},"events":{"total":{"WatchEvent":2},"last_year":{"WatchEvent":2}},"keywords":["causal-discovery","causal-discovery-methods","causal-inference","causality","deep-learning","deep-neural-networks","deeplearning","ica","independent-component-analysis","machine-learning","structural-causal-model"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/python-package.yml","sha":null,"kind":"manifest","created_at":"2023-03-13T05:07:30.519Z","updated_at":"2023-03-13T05:07:30.519Z","repository_link":"https://github.com/rpatrik96/nl-causal-representations/blob/master/.github/workflows/python-package.yml","dependencies":[{"id":8234253036,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":8234253037,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":8234253038,"package_name":"actions/cache","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"docker","filepath":"care_nl_ica/cl_ica/docker/Dockerfile","sha":null,"kind":"manifest","created_at":"2023-03-13T05:07:30.606Z","updated_at":"2023-03-13T05:07:30.606Z","repository_link":"https://github.com/rpatrik96/nl-causal-representations/blob/master/care_nl_ica/cl_ica/docker/Dockerfile","dependencies":[{"id":8234253039,"package_name":"nvidia/cuda","ecosystem":"docker","requirements":"10.0-cudnn7-devel-ubuntu16.04","direct":true,"kind":"build","optional":false}]},{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2023-03-13T05:07:30.650Z","updated_at":"2023-03-13T05:07:30.650Z","repository_link":"https://github.com/rpatrik96/nl-causal-representations/blob/master/requirements.txt","dependencies":[{"id":8234253040,"package_name":"numpy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":8234253041,"package_name":"torch","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":8234253042,"package_name":"scipy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":8234253043,"package_name":"scikit-learn","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":8234253044,"package_name":"matplotlib","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":8234253045,"package_name":"wandb","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":8234253046,"package_name":"h5py","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":8234253047,"package_name":"torchmetrics","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":8234253048,"package_name":"pytest","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":8234253049,"package_name":"setuptools","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":8234253050,"package_name":"pandas","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":8234253051,"package_name":"pip","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":8234253052,"package_name":"pytorch-lightning","ecosystem":"pypi","requirements":"==1.5.10","direct":true,"kind":"runtime","optional":false},{"id":8234253053,"package_name":"jsonargparse","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":8234253054,"package_name":"hydra-core","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":8234253055,"package_name":"pre-commit","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":8234253056,"package_name":"omegaconf","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":8234253057,"package_name":"pynvml","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":8234253058,"package_name":"functorch","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":8234253059,"package_name":"tueplots","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"tests/requirements.txt","sha":null,"kind":"manifest","created_at":"2023-03-13T05:07:30.738Z","updated_at":"2023-03-13T05:07:30.738Z","repository_link":"https://github.com/rpatrik96/nl-causal-representations/blob/master/tests/requirements.txt","dependencies":[{"id":8234253060,"package_name":"coverage","ecosystem":"pypi","requirements":"*","direct":true,"kind":"test","optional":false},{"id":8234253061,"package_name":"codecov","ecosystem":"pypi","requirements":"*","direct":true,"kind":"test","optional":false},{"id":8234253062,"package_name":"pytest","ecosystem":"pypi","requirements":"*","direct":true,"kind":"test","optional":false},{"id":8234253063,"package_name":"pytest-cov","ecosystem":"pypi","requirements":"*","direct":true,"kind":"test","optional":false},{"id":8234253064,"package_name":"pytest-flake8","ecosystem":"pypi","requirements":"*","direct":true,"kind":"test","optional":false},{"id":8234253065,"package_name":"black","ecosystem":"pypi","requirements":"*","direct":true,"kind":"test","optional":false},{"id":8234253066,"package_name":"flake8","ecosystem":"pypi","requirements":"*","direct":true,"kind":"test","optional":false},{"id":8234253067,"package_name":"check-manifest","ecosystem":"pypi","requirements":"*","direct":true,"kind":"test","optional":false},{"id":8234253068,"package_name":"twine","ecosystem":"pypi","requirements":"==1.13.0","direct":true,"kind":"test","optional":false}]},{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2024-06-28T21:45:44.797Z","updated_at":"2024-06-28T21:45:44.797Z","repository_link":"https://github.com/rpatrik96/nl-causal-representations/blob/master/setup.py","dependencies":[]}],"score":6.109247582764365,"created_at":"2025-09-04T15:50:45.897Z","updated_at":"2025-10-07T08:08:17.387Z","avatar_url":"https://github.com/rpatrik96.png","language":"Python","category":null,"sub_category":null,"monthly_downloads":0,"funding_links":[],"readme_doi_urls":["https://doi.org/10.5281/zenodo.7002143"],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://science.ecosyste.ms/api/v1/projects/15011","html_url":"https://science.ecosyste.ms/projects/15011","bibtex_url":"https://science.ecosyste.ms/projects/15011/export.bibtex","apalike_url":"https://science.ecosyste.ms/projects/15011/export.apalike"}