# Copulae
Probably the second most popular copula package in Python. 😣
Copulae is a package used to model complex dependency structures. Copulae implements common and popular copula
structures to bind multiple univariate streams of data together. All copula implemented are multivariate by default.
###### Versions
[![Anaconda Version](https://anaconda.org/conda-forge/copulae/badges/version.svg)](https://anaconda.org/conda-forge/copulae/badges/version.svg)
[![PyPI version](https://badge.fury.io/py/copulae.svg)](https://badge.fury.io/py/copulae)
###### Continuous Integration
[![Build Status](https://travis-ci.com/DanielBok/copulae.svg?branch=master)](https://travis-ci.com/DanielBok/copulae)
[![Anaconda-Server Badge](https://anaconda.org/conda-forge/copulae/badges/latest_release_date.svg)](https://anaconda.org/conda-forge/copulae)
[![Downloads](https://pepy.tech/badge/copulae)](https://pepy.tech/project/copulae)
[![Anaconda-Server Badge](https://anaconda.org/conda-forge/copulae/badges/downloads.svg)](https://anaconda.org/conda-forge/copulae)
###### Documentation
[![Documentation Status](https://readthedocs.org/projects/copulae/badge/?version=latest)](https://copulae.readthedocs.io/en/latest/?badge=latest)
###### Coverage
[![Coverage Status](https://coveralls.io/repos/github/DanielBok/copulae/badge.svg?branch=master)](https://coveralls.io/github/DanielBok/copulae?branch=master)
## Installing
Install and update using [pip](https://pip.pypa.io/en/stable/quickstart/) and on conda.
```bash
# conda
conda install -c conda-forge copulae
```
```bash
# PyPI
pip install -U copulae
```
## Documentation
The documentation is located at https://copulae.readthedocs.io/en/latest/. Please check it out. :)
## Simple Usage
```python
from copulae import NormalCopula
import numpy as np
np.random.seed(8)
data = np.random.normal(size=(300, 8))
cop = NormalCopula(8)
cop.fit(data)
cop.random(10) # simulate random number
# getting parameters
p = cop.params
# cop.params = ... # you can override parameters too, even after it's fitted!
# get a summary of the copula. If it's fitted, fit details will be present too
cop.summary()
# overriding parameters, for Elliptical Copulae, you can override the correlation matrix
cop[:] = np.eye(8) # in this case, this will be equivalent to an Independent Copula
```
Most of the copulae work roughly the same way. They share pretty much the same API. The difference lies in the way they are parameterized. Read the docs to learn more about them. 😊
## Acknowledgements
Most of the code has been implemented by learning from others. Copulas are not the easiest beasts to understand but here are some items that helped me along the way. I would recommend all the works listed below.
#### [Elements of Copula Modeling with R](https://www.amazon.com/Elements-Copula-Modeling-Marius-Hofert/dp/3319896342/)
I referred quite a lot to the textbook when first learning. The authors give a pretty thorough explanation of copula from ground up. They go from describing when you can use copulas for modeling to the different classes of copulas to how to fit them and more.
#### [Blogpost from Thomas Wiecki](https://twiecki.io/blog/2018/05/03/copulas/)
This blogpost gives a very gentle introduction to copulas. Before diving into all the complex math you'd find in textbooks, this is probably the best place to start.
## Motivations
I started working on the copulae package because I couldn't find a good existing package that does multivariate copula modeling. Presently, I'm building up the package according to my needs at work. If you feel that you'll need some features, you can drop me a message. I'll see how I can schedule it. 😊
## TODOS
- [x] Set up package for pip and conda installation
- [ ] More documentation on usage and post docs on rtd (Permanently in the works 😊)
- [x] Elliptical Copulas
- [x] Gaussian (Normal)
- [x] Student (T)
- [ ] Implement in Archimedean copulas
- [x] Clayton
- [x] Gumbel
- [x] Frank
- [x] Empirical
- [ ] Joe
- [ ] AMH
- [ ] Rho finding via Cubatures
- [ ] Mixture copulas
- [X] Gaussian Mixture Copula
- [ ] Generic Mixture Copula
- [x] Marginal Copula
- [ ] Vine Copulas
- [ ] Copula Tests
- [x] Radial Symmetry
- [x] Exchangeability
- [ ] Goodness of Fit
- [ ] Pairwise Rosenblatt
- [ ] Multi-Independence
- [x] General GOF
- [ ] Model Selection
- [ ] Cross-Validated AIC/BIC
Raw data
{
"_id": null,
"home_page": "",
"name": "copulae",
"maintainer": "Daniel Bok",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "daniel.bok@outlook.com",
"keywords": "copula,copulae,dependency modelling,dependence structures,archimdean,elliptical,finance",
"author": "Daniel Bok",
"author_email": "daniel.bok@outlook.com",
"download_url": "https://files.pythonhosted.org/packages/7b/4e/91948bac771b7bf7ae13533cd15fa40aa3294c05981eb679daabb83a8de5/copulae-0.7.9.tar.gz",
"platform": null,
"description": "# Copulae\n\nProbably the second most popular copula package in Python. \ud83d\ude23\n\nCopulae is a package used to model complex dependency structures. Copulae implements common and popular copula\nstructures to bind multiple univariate streams of data together. All copula implemented are multivariate by default.\n\n###### Versions\n\n[![Anaconda Version](https://anaconda.org/conda-forge/copulae/badges/version.svg)](https://anaconda.org/conda-forge/copulae/badges/version.svg)\n[![PyPI version](https://badge.fury.io/py/copulae.svg)](https://badge.fury.io/py/copulae)\n\n###### Continuous Integration\n\n[![Build Status](https://travis-ci.com/DanielBok/copulae.svg?branch=master)](https://travis-ci.com/DanielBok/copulae) \n[![Anaconda-Server Badge](https://anaconda.org/conda-forge/copulae/badges/latest_release_date.svg)](https://anaconda.org/conda-forge/copulae)\n[![Downloads](https://pepy.tech/badge/copulae)](https://pepy.tech/project/copulae)\n[![Anaconda-Server Badge](https://anaconda.org/conda-forge/copulae/badges/downloads.svg)](https://anaconda.org/conda-forge/copulae)\n\n###### Documentation\n\n[![Documentation Status](https://readthedocs.org/projects/copulae/badge/?version=latest)](https://copulae.readthedocs.io/en/latest/?badge=latest)\n\n###### Coverage\n\n[![Coverage Status](https://coveralls.io/repos/github/DanielBok/copulae/badge.svg?branch=master)](https://coveralls.io/github/DanielBok/copulae?branch=master)\n\n## Installing\n\nInstall and update using [pip](https://pip.pypa.io/en/stable/quickstart/) and on conda.\n\n```bash\n# conda\nconda install -c conda-forge copulae \n\n```\n\n```bash\n# PyPI\npip install -U copulae\n```\n\n## Documentation\n\nThe documentation is located at https://copulae.readthedocs.io/en/latest/. Please check it out. :)\n\n\n## Simple Usage\n\n```python\nfrom copulae import NormalCopula\nimport numpy as np\n\nnp.random.seed(8)\ndata = np.random.normal(size=(300, 8))\ncop = NormalCopula(8)\ncop.fit(data)\n\ncop.random(10) # simulate random number\n\n# getting parameters\np = cop.params\n# cop.params = ... # you can override parameters too, even after it's fitted! \n\n# get a summary of the copula. If it's fitted, fit details will be present too\ncop.summary()\n\n# overriding parameters, for Elliptical Copulae, you can override the correlation matrix\ncop[:] = np.eye(8) # in this case, this will be equivalent to an Independent Copula\n```\n\nMost of the copulae work roughly the same way. They share pretty much the same API. The difference lies in the way they are parameterized. Read the docs to learn more about them. \ud83d\ude0a\n\n\n## Acknowledgements\n\nMost of the code has been implemented by learning from others. Copulas are not the easiest beasts to understand but here are some items that helped me along the way. I would recommend all the works listed below.\n\n#### [Elements of Copula Modeling with R](https://www.amazon.com/Elements-Copula-Modeling-Marius-Hofert/dp/3319896342/)\n\nI referred quite a lot to the textbook when first learning. The authors give a pretty thorough explanation of copula from ground up. They go from describing when you can use copulas for modeling to the different classes of copulas to how to fit them and more.\n\n#### [Blogpost from Thomas Wiecki](https://twiecki.io/blog/2018/05/03/copulas/) \n\nThis blogpost gives a very gentle introduction to copulas. Before diving into all the complex math you'd find in textbooks, this is probably the best place to start. \n\n## Motivations\n\nI started working on the copulae package because I couldn't find a good existing package that does multivariate copula modeling. Presently, I'm building up the package according to my needs at work. If you feel that you'll need some features, you can drop me a message. I'll see how I can schedule it. \ud83d\ude0a\n\n## TODOS\n\n- [x] Set up package for pip and conda installation\n- [ ] More documentation on usage and post docs on rtd (Permanently in the works \ud83d\ude0a)\n- [x] Elliptical Copulas\n - [x] Gaussian (Normal)\n - [x] Student (T)\n- [ ] Implement in Archimedean copulas\n - [x] Clayton\n - [x] Gumbel\n - [x] Frank\n - [x] Empirical\n - [ ] Joe\n - [ ] AMH \n - [ ] Rho finding via Cubatures\n- [ ] Mixture copulas\n - [X] Gaussian Mixture Copula\n - [ ] Generic Mixture Copula\n - [x] Marginal Copula\n- [ ] Vine Copulas\n- [ ] Copula Tests\n - [x] Radial Symmetry\n - [x] Exchangeability\n - [ ] Goodness of Fit\n - [ ] Pairwise Rosenblatt\n - [ ] Multi-Independence\n - [x] General GOF\n - [ ] Model Selection\n - [ ] Cross-Validated AIC/BIC\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Python copulae library for dependency modelling",
"version": "0.7.9",
"project_urls": {
"Code": "https://github.com/DanielBok/copulae",
"Documentation": "https://copulae.readthedocs.io/en/latest/",
"Issue tracker": "https://github.com/DanielBok/copulae/issues"
},
"split_keywords": [
"copula",
"copulae",
"dependency modelling",
"dependence structures",
"archimdean",
"elliptical",
"finance"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "5c283021fa452b07e68df3b0e8a9cbdb686434b5c28c07ec2ac06c22b3939158",
"md5": "3f3627553a32f4c14bf552a1b446a273",
"sha256": "89074126848378b6cc83d68f19539cadf221246eed01690582dbd3cf6badd211"
},
"downloads": -1,
"filename": "copulae-0.7.9-cp310-cp310-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "3f3627553a32f4c14bf552a1b446a273",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 1186878,
"upload_time": "2024-03-12T08:31:35",
"upload_time_iso_8601": "2024-03-12T08:31:35.148479Z",
"url": "https://files.pythonhosted.org/packages/5c/28/3021fa452b07e68df3b0e8a9cbdb686434b5c28c07ec2ac06c22b3939158/copulae-0.7.9-cp310-cp310-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ea8dcfab822a0ef99f22ea2e46a816c36e74e5315734c6e7b1ea707258f4bc18",
"md5": "e4154dc9fcfdae9804a5ec06e29b8257",
"sha256": "02d8b1e9256dfd5347266001e8f393e3640006b79ed4a3044237bc89315ba5dd"
},
"downloads": -1,
"filename": "copulae-0.7.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "e4154dc9fcfdae9804a5ec06e29b8257",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 2793548,
"upload_time": "2024-03-12T08:31:37",
"upload_time_iso_8601": "2024-03-12T08:31:37.062786Z",
"url": "https://files.pythonhosted.org/packages/ea/8d/cfab822a0ef99f22ea2e46a816c36e74e5315734c6e7b1ea707258f4bc18/copulae-0.7.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "75004a0437d3681dd4267f8e408276564921f49d1a3343c9d9a86586fb5474cf",
"md5": "6409cc77093a51dff901f06bed534824",
"sha256": "c25135beacb1b960d636a694eec1b7c32ae50ce508ec53bf78514e6698226f94"
},
"downloads": -1,
"filename": "copulae-0.7.9-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "6409cc77093a51dff901f06bed534824",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 1151987,
"upload_time": "2024-03-12T08:31:39",
"upload_time_iso_8601": "2024-03-12T08:31:39.138236Z",
"url": "https://files.pythonhosted.org/packages/75/00/4a0437d3681dd4267f8e408276564921f49d1a3343c9d9a86586fb5474cf/copulae-0.7.9-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ebcea4c2dba50d6039c86e7c7569094dbd602041393ad78746cb3952a1ca6b87",
"md5": "329af6b96726b63db567e528357dc37f",
"sha256": "68e2c42744c822b0f78d08ff82bf4fdfc2b164e8c23227944036a7c3d00f89c9"
},
"downloads": -1,
"filename": "copulae-0.7.9-cp311-cp311-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "329af6b96726b63db567e528357dc37f",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 1186184,
"upload_time": "2024-03-12T08:31:40",
"upload_time_iso_8601": "2024-03-12T08:31:40.493638Z",
"url": "https://files.pythonhosted.org/packages/eb/ce/a4c2dba50d6039c86e7c7569094dbd602041393ad78746cb3952a1ca6b87/copulae-0.7.9-cp311-cp311-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9d8deb374b989272921ab336e5c9f2fd675155cf9b5ab6204b93faad82c80565",
"md5": "f8f1c101bd80b8d3cf76a2edc8fbb49c",
"sha256": "4855c2bb93d17635e68f0caa3250edf4d6ff8fdc0064596cdf28792b793cba38"
},
"downloads": -1,
"filename": "copulae-0.7.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "f8f1c101bd80b8d3cf76a2edc8fbb49c",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 2949233,
"upload_time": "2024-03-12T08:31:42",
"upload_time_iso_8601": "2024-03-12T08:31:42.015639Z",
"url": "https://files.pythonhosted.org/packages/9d/8d/eb374b989272921ab336e5c9f2fd675155cf9b5ab6204b93faad82c80565/copulae-0.7.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2086f604ee02f550d0fe31bebbe04be31e7282060cc537894a71ee2373cce7dd",
"md5": "bfb4ac410a1410259d022e155bb1dfc3",
"sha256": "66f843fabe4f2563dac463023aee98238632ca643e3c8e19401841d6453290ae"
},
"downloads": -1,
"filename": "copulae-0.7.9-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "bfb4ac410a1410259d022e155bb1dfc3",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 1151789,
"upload_time": "2024-03-12T08:31:44",
"upload_time_iso_8601": "2024-03-12T08:31:44.111911Z",
"url": "https://files.pythonhosted.org/packages/20/86/f604ee02f550d0fe31bebbe04be31e7282060cc537894a71ee2373cce7dd/copulae-0.7.9-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "45ea51340fa44f65a04a93f689340ec048fd37e5ef15873ee5cc0b46d173de55",
"md5": "42528dcadbcaabb75f87c63356030528",
"sha256": "dfcb72556623d53b9a2fd7938e8ecac2f09eaf972348ca3af45652e23eb4cb34"
},
"downloads": -1,
"filename": "copulae-0.7.9-cp312-cp312-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "42528dcadbcaabb75f87c63356030528",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 1191709,
"upload_time": "2024-03-12T08:31:45",
"upload_time_iso_8601": "2024-03-12T08:31:45.511628Z",
"url": "https://files.pythonhosted.org/packages/45/ea/51340fa44f65a04a93f689340ec048fd37e5ef15873ee5cc0b46d173de55/copulae-0.7.9-cp312-cp312-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "37954f9097d809f41a5a56676d7795e15a1f002c97677615a4665addbaa6876f",
"md5": "0c7c88cbb0e04ca4d8a183d49f63d12c",
"sha256": "86147f6606ca2e6965bc86013c571574d0c974e6937b529b3eae9a30cff1ff80"
},
"downloads": -1,
"filename": "copulae-0.7.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "0c7c88cbb0e04ca4d8a183d49f63d12c",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 2922337,
"upload_time": "2024-03-12T08:31:46",
"upload_time_iso_8601": "2024-03-12T08:31:46.827797Z",
"url": "https://files.pythonhosted.org/packages/37/95/4f9097d809f41a5a56676d7795e15a1f002c97677615a4665addbaa6876f/copulae-0.7.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7abb2fdeb49cb2af0e662758ae385c8f5784f2df58daceca38e834ae74816c07",
"md5": "da960b27ccd7ae5de00017a8f4d65161",
"sha256": "e8b05e4996a43ae4668dff317124215c3061f6773a0e5305b76d793acd2ee2ad"
},
"downloads": -1,
"filename": "copulae-0.7.9-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "da960b27ccd7ae5de00017a8f4d65161",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 1153826,
"upload_time": "2024-03-12T08:31:49",
"upload_time_iso_8601": "2024-03-12T08:31:49.175154Z",
"url": "https://files.pythonhosted.org/packages/7a/bb/2fdeb49cb2af0e662758ae385c8f5784f2df58daceca38e834ae74816c07/copulae-0.7.9-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "26dc01bd94d55c5654bd3a0f791c1b9dea9d6b2e653735dab1b7d3488dfa94b2",
"md5": "af5776a475646f28ba48a6eb8851853f",
"sha256": "178468d372fd0061d0079b43ec81615d51c9dd792e001292940f2aa0c750a18e"
},
"downloads": -1,
"filename": "copulae-0.7.9-cp39-cp39-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "af5776a475646f28ba48a6eb8851853f",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 1189204,
"upload_time": "2024-03-12T08:31:50",
"upload_time_iso_8601": "2024-03-12T08:31:50.692584Z",
"url": "https://files.pythonhosted.org/packages/26/dc/01bd94d55c5654bd3a0f791c1b9dea9d6b2e653735dab1b7d3488dfa94b2/copulae-0.7.9-cp39-cp39-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "69d39720ea6db9a90d90b99d7402f819c6b26f59f60c06b7bca6c10c0bec2bba",
"md5": "02c1c6e6369b95610760e002ef5086f4",
"sha256": "0baa39bd2456ed008d1052ffeb7d8403ebfb2387b22b18c7ac07278d292f543c"
},
"downloads": -1,
"filename": "copulae-0.7.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "02c1c6e6369b95610760e002ef5086f4",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 2804692,
"upload_time": "2024-03-12T08:31:52",
"upload_time_iso_8601": "2024-03-12T08:31:52.871692Z",
"url": "https://files.pythonhosted.org/packages/69/d3/9720ea6db9a90d90b99d7402f819c6b26f59f60c06b7bca6c10c0bec2bba/copulae-0.7.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "58ca02470d0c235d1e44d650f7ed07190832aabb8e8472ba3e76bb919e15f631",
"md5": "d23d6370bdbc86bdba6651da53e99ac3",
"sha256": "d81d31a7713672e748deca5e6465a8d71f9cad1906e13abdd0457ff60838d16e"
},
"downloads": -1,
"filename": "copulae-0.7.9-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "d23d6370bdbc86bdba6651da53e99ac3",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 1154178,
"upload_time": "2024-03-12T08:31:54",
"upload_time_iso_8601": "2024-03-12T08:31:54.603889Z",
"url": "https://files.pythonhosted.org/packages/58/ca/02470d0c235d1e44d650f7ed07190832aabb8e8472ba3e76bb919e15f631/copulae-0.7.9-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7b4e91948bac771b7bf7ae13533cd15fa40aa3294c05981eb679daabb83a8de5",
"md5": "7a54832e38aab4a9f6cd98a462a53512",
"sha256": "dff4582ccdf746b171eaace9ba70d03a00e57a49f8852cd3d80bf26781dc3af1"
},
"downloads": -1,
"filename": "copulae-0.7.9.tar.gz",
"has_sig": false,
"md5_digest": "7a54832e38aab4a9f6cd98a462a53512",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 799100,
"upload_time": "2024-03-12T08:31:56",
"upload_time_iso_8601": "2024-03-12T08:31:56.660680Z",
"url": "https://files.pythonhosted.org/packages/7b/4e/91948bac771b7bf7ae13533cd15fa40aa3294c05981eb679daabb83a8de5/copulae-0.7.9.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-12 08:31:56",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "DanielBok",
"github_project": "copulae",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "copulae"
}