Name | numpsy JSON |
Version |
0.0.12
JSON |
| download |
home_page | https://github.com/daquintero/numpsy |
Summary | NumpSy - Integrated NumPy, SymPy, SciPy and Pandas with unit management for scientific programming with IPython. |
upload_time | 2023-03-23 16:33:42 |
maintainer | |
docs_url | None |
author | Dario Quintero |
requires_python | >=3.6 |
license | |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# NumpSy
Straight up mix between NumPy, SymPy and Pandas into a value single-declaration extendable framework to simulatenously perform symbolic and numerical operations.
Objectives:
1. Ever think you wanted to simultaneously perform numerical and symbolic mathematics for an engineering or optimization derivation? Now you can pretty much intuitively derivate simultaneously whilst performing unit management automatically.
2. Integrate mathematical analytical derivation Python toolchains into a single handy one that retains and expands each of the constituent packages methods. Retain intuitive compatibility.
3. Have fun!
### Is it any good?
I think it's an elegant mathematical representation to simultanously perform symbolic, numerical, and data science operations into a single system. It targets a minimal overhead to raw numpy, sympy or scipy operations.
## Quick Start
Download the [Anaconda distribution first](https://www.anaconda.com/).
Pip install:
```bash
$ pip install numpsy
```
Local install for most recent version:
```bash
$ git clone https://github.com/daquintero/numpsy.git
$ cd numpsy
$ python3 setup.py install
```
## Quick Example
See the [10 minutes to NumpSy jupyter notebook](https://github.com/daquintero/numpsy/blob/master/docs/ten_minutes_to_numpsy/10_minutes_to_numpsy.ipynb) for much more.
### Installation
*Import NumpSy*
```python
import numpsy as nsy
```
## Units
#### Declare a Unit
```python
meter = nsy.Unit(name="meter", symbol="m")
meter
```
| | Unit |
|:--------------------|:--------------------------------|
| name | meter |
| symbol | \begin{equation}m\end{equation} |
| symbolic_expression | \begin{equation}Ø\end{equation} |
#### Retrieve attributes from this Unit
```python
meter.s
```
$\displaystyle m$
```python
meter.symbol
```
$\displaystyle m$
```python
meter.name
```
'meter'
#### Operate with this unit
```python
farad_per_meter = nsy.Unit(name="Farad", symbol="F") / meter
farad_per_meter
```
| | Unit |
|:--------------------|:------------------------------------------|
| name | (Farad)_per_(meter) |
| symbol | \begin{equation}Ø\end{equation} |
| symbolic_expression | \begin{equation}\frac{F}{m}\end{equation} |
#### Append to Unit Library
```python
nsy.Units().data
```
Hertz Unit name name_expression ...
Farad Unit name name_expression ...
meter Unit name name_expression ...
ohm Unit name name_expression ...
ratio Unit name name_expression ...
second Unit name name_expression ...
Name: 0, dtype: object
```python
nsy.u
```
Hertz Unit name name_expression ...
Farad Unit name name_expression ...
meter Unit name name_expression ...
ohm Unit name name_expression ...
ratio Unit name name_expression ...
second Unit name name_expression ...
Name: 0, dtype: object
## Constant
```python
e_0 = nsy.Constant(
name="permittivity_vaccum",
symbol= "\epsilon_0",
numerical=8.8541878128e-12,
unit=farad_per_meter
)
e_0
```
| | Constant |
|:--------------------|:---------------------------------------------------------------|
| name | permittivity_vaccum |
| symbol | \begin{equation}\epsilon_0\end{equation} |
| symbolic_expression | \begin{equation}Ø\end{equation} |
| numerical | 8.8541878128e-12 |
| unit | Symbol: \begin{equation}Ø\end{equation} |
| | Symbolic Expression: \begin{equation}\frac{F}{m}\end{equation} |
```python
e_0.s
```
$\displaystyle \epsilon_0$
```python
e_0.n
```
8.8541878128e-12
```python
e_d = nsy.Constant(
name="dielectric_permittivity",
symbol= "\epsilon_d",
numerical=5,
unit=nsy.u.ratio
)
e_d
```
| | Constant |
|:--------------------|:-----------------------------------------------------|
| name | dielectric_permittivity |
| symbol | \begin{equation}\epsilon_d\end{equation} |
| symbolic_expression | \begin{equation}Ø\end{equation} |
| numerical | 5 |
| unit | Symbol: \begin{equation}\end{equation} |
| | Symbolic Expression: \begin{equation}Ø\end{equation} |
#### Constants cannot be mutated
```python
e_d.n = 10
```
Constant cannot be mutated. You cannot set any attribute value. Instantiate a new variable.
## Variable
```python
capacitor_plate_separation = nsy.Variable(
name="capacitor_plate_separation",
symbol= "d",
numerical=None,
unit=nsy.u.meter
)
capacitor_plate_separation
```
| | Variable |
|:--------------------|:-----------------------------------------------------|
| name | capacitor_plate_separation |
| symbol | \begin{equation}d\end{equation} |
| symbolic_expression | \begin{equation}Ø\end{equation} |
| numerical | |
| unit | Symbol: \begin{equation}m\end{equation} |
| | Symbolic Expression: \begin{equation}Ø\end{equation} |
```python
capacitor_plate_separation.s
```
$\displaystyle d$
```python
capacitor_plate_separation.u
```
| | Unit |
|:--------------------|:--------------------------------|
| name | meter |
| symbol | \begin{equation}m\end{equation} |
| symbolic_expression | \begin{equation}Ø\end{equation} |
#### Variables can be mutated
```python
capacitor_plate_separation.n = 1e-6
capacitor_plate_separation.n
```
1e-06
```python
capacitor_plate_separation.numerical = 3e-5
capacitor_plate_separation.numerical
```
3e-05
#### Operate between Value objects
Constants and Variables are value objects.
```python
capacitance_per_plate_cross_sectional_area = e_d / (e_0 * capacitor_plate_separation)
capacitance_per_plate_cross_sectional_area
```
| | Value |
|:--------------------|:--------------------------------------------------------------|
| name | |
| symbol | \begin{equation}Ø\end{equation} |
| symbolic_expression | \begin{equation}\frac{\epsilon_d}{\epsilon_0 d}\end{equation} |
| numerical | 1.8823484456216984e+16 |
| unit | Symbol: \begin{equation}Ø\end{equation} |
| | Symbolic Expression: \begin{equation}\frac{}{F}\end{equation} |
```python
capacitance_per_plate_cross_sectional_area.se
```
$\displaystyle \frac{\epsilon_d}{\epsilon_0 d}$
```python
capacitance_per_plate_cross_sectional_area.n
```
1.8823484456216984e+16
#### Perform Flexible Class Operations
```python
raw_capacitor_cross_sectional_area = (1e-6) ** 2
raw_capacitor_cross_sectional_area
```
1e-12
```python
device_capacitance = capacitance_per_plate_cross_sectional_area * raw_capacitor_cross_sectional_area
device_capacitance
```
| | Value |
|:--------------------|:----------------------------------------------------------------|
| name | |
| symbol | \begin{equation}Ø\end{equation} |
| symbolic_expression | \begin{equation}\frac{\epsilon_d Ø}{\epsilon_0 d}\end{equation} |
| numerical | 18823.484456216982 |
| unit | Symbol: \begin{equation}Ø\end{equation} |
| | Symbolic Expression: \begin{equation}\frac{Ø}{F}\end{equation} |
```python
device_capacitance.name
```
''
```python
device_capacitance.se
```
$\displaystyle \frac{\epsilon_d Ø}{\epsilon_0 d}$
```python
device_capacitance.symbol = "F"
device_capacitance.symbol
```
$\displaystyle F$
```python
raw_capacitor_cross_sectional_area
```
1e-12
##### Example Functions
```python
nsy.sqrt(device_capacitance)
```
| | Value |
|:--------------------|:----------------------------------------------------------------------|
| name | |
| symbol | \begin{equation}Ø\end{equation} |
| symbolic_expression | \begin{equation}\sqrt{F}\end{equation} |
| numerical | 137.19870428038664 |
| unit | Symbol: \begin{equation}Ø\end{equation} |
| | Symbolic Expression: \begin{equation}\sqrt{\frac{Ø}{F}}\end{equation} |
```python
nsy.sinh(device_capacitance)
```
| | Value |
|:--------------------|:----------------------------------------------------------------------|
| name | |
| symbol | \begin{equation}Ø\end{equation} |
| symbolic_expression | \begin{equation}\sinh{\left(F \right)}\end{equation} |
| numerical | inf |
| unit | Symbol: \begin{equation}Ø\end{equation} |
| | Symbolic Expression: \begin{equation}\sqrt{\frac{Ø}{F}}\end{equation} |
### Future plans
* Extend unit management and verification.
* Create a full constants list, probably even in Excel or as an importable CSV file into Pandas.
Open to contributions.
Raw data
{
"_id": null,
"home_page": "https://github.com/daquintero/numpsy",
"name": "numpsy",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "",
"author": "Dario Quintero",
"author_email": "darioaquintero@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/61/84/d6a5283652dc47336c24e99cd16029e973271579eb93fa082a58a6c806a6/numpsy-0.0.12.tar.gz",
"platform": null,
"description": "# NumpSy\r\n\r\nStraight up mix between NumPy, SymPy and Pandas into a value single-declaration extendable framework to simulatenously perform symbolic and numerical operations.\r\n\r\nObjectives:\r\n1. Ever think you wanted to simultaneously perform numerical and symbolic mathematics for an engineering or optimization derivation? Now you can pretty much intuitively derivate simultaneously whilst performing unit management automatically.\r\n2. Integrate mathematical analytical derivation Python toolchains into a single handy one that retains and expands each of the constituent packages methods. Retain intuitive compatibility.\r\n3. Have fun!\r\n\r\n### Is it any good?\r\nI think it's an elegant mathematical representation to simultanously perform symbolic, numerical, and data science operations into a single system. It targets a minimal overhead to raw numpy, sympy or scipy operations.\r\n\r\n## Quick Start\r\n\r\nDownload the [Anaconda distribution first](https://www.anaconda.com/).\r\n\r\nPip install:\r\n```bash\r\n$ pip install numpsy\r\n```\r\n\r\nLocal install for most recent version:\r\n```bash\r\n$ git clone https://github.com/daquintero/numpsy.git\r\n$ cd numpsy\r\n$ python3 setup.py install\r\n```\r\n\r\n## Quick Example\r\nSee the [10 minutes to NumpSy jupyter notebook](https://github.com/daquintero/numpsy/blob/master/docs/ten_minutes_to_numpsy/10_minutes_to_numpsy.ipynb) for much more.\r\n\r\n### Installation\r\n\r\n*Import NumpSy*\r\n\r\n\r\n```python\r\nimport numpsy as nsy\r\n```\r\n\r\n## Units\r\n\r\n#### Declare a Unit\r\n\r\n\r\n```python\r\nmeter = nsy.Unit(name=\"meter\", symbol=\"m\")\r\nmeter\r\n```\r\n\r\n\r\n\r\n\r\n| | Unit |\r\n|:--------------------|:--------------------------------|\r\n| name | meter |\r\n| symbol | \\begin{equation}m\\end{equation} |\r\n| symbolic_expression | \\begin{equation}\u00d8\\end{equation} |\r\n\r\n\r\n\r\n#### Retrieve attributes from this Unit\r\n\r\n\r\n```python\r\nmeter.s\r\n```\r\n\r\n\r\n\r\n\r\n$\\displaystyle m$\r\n\r\n\r\n\r\n\r\n```python\r\nmeter.symbol\r\n```\r\n\r\n\r\n\r\n\r\n$\\displaystyle m$\r\n\r\n\r\n\r\n\r\n```python\r\nmeter.name\r\n```\r\n\r\n\r\n\r\n\r\n 'meter'\r\n\r\n\r\n\r\n#### Operate with this unit\r\n\r\n\r\n```python\r\nfarad_per_meter = nsy.Unit(name=\"Farad\", symbol=\"F\") / meter\r\nfarad_per_meter\r\n```\r\n\r\n\r\n\r\n\r\n| | Unit |\r\n|:--------------------|:------------------------------------------|\r\n| name | (Farad)_per_(meter) |\r\n| symbol | \\begin{equation}\u00d8\\end{equation} |\r\n| symbolic_expression | \\begin{equation}\\frac{F}{m}\\end{equation} |\r\n\r\n\r\n\r\n#### Append to Unit Library\r\n\r\n\r\n```python\r\nnsy.Units().data\r\n```\r\n\r\n\r\n\r\n\r\n Hertz Unit name name_expression ...\r\n Farad Unit name name_expression ...\r\n meter Unit name name_expression ...\r\n ohm Unit name name_expression ...\r\n ratio Unit name name_expression ...\r\n second Unit name name_expression ...\r\n Name: 0, dtype: object\r\n\r\n\r\n\r\n\r\n```python\r\nnsy.u\r\n```\r\n\r\n\r\n\r\n\r\n Hertz Unit name name_expression ...\r\n Farad Unit name name_expression ...\r\n meter Unit name name_expression ...\r\n ohm Unit name name_expression ...\r\n ratio Unit name name_expression ...\r\n second Unit name name_expression ...\r\n Name: 0, dtype: object\r\n\r\n\r\n\r\n## Constant\r\n\r\n\r\n```python\r\ne_0 = nsy.Constant(\r\n name=\"permittivity_vaccum\",\r\n symbol= \"\\epsilon_0\",\r\n numerical=8.8541878128e-12,\r\n unit=farad_per_meter\r\n)\r\ne_0\r\n```\r\n\r\n\r\n\r\n\r\n| | Constant |\r\n|:--------------------|:---------------------------------------------------------------|\r\n| name | permittivity_vaccum |\r\n| symbol | \\begin{equation}\\epsilon_0\\end{equation} |\r\n| symbolic_expression | \\begin{equation}\u00d8\\end{equation} |\r\n| numerical | 8.8541878128e-12 |\r\n| unit | Symbol: \\begin{equation}\u00d8\\end{equation} |\r\n| | Symbolic Expression: \\begin{equation}\\frac{F}{m}\\end{equation} |\r\n\r\n\r\n\r\n\r\n```python\r\ne_0.s\r\n```\r\n\r\n\r\n\r\n\r\n$\\displaystyle \\epsilon_0$\r\n\r\n\r\n\r\n\r\n```python\r\ne_0.n\r\n```\r\n\r\n\r\n\r\n\r\n 8.8541878128e-12\r\n\r\n\r\n\r\n\r\n```python\r\ne_d = nsy.Constant(\r\n name=\"dielectric_permittivity\",\r\n symbol= \"\\epsilon_d\",\r\n numerical=5,\r\n unit=nsy.u.ratio\r\n)\r\ne_d\r\n```\r\n\r\n\r\n\r\n\r\n| | Constant |\r\n|:--------------------|:-----------------------------------------------------|\r\n| name | dielectric_permittivity |\r\n| symbol | \\begin{equation}\\epsilon_d\\end{equation} |\r\n| symbolic_expression | \\begin{equation}\u00d8\\end{equation} |\r\n| numerical | 5 |\r\n| unit | Symbol: \\begin{equation}\\end{equation} |\r\n| | Symbolic Expression: \\begin{equation}\u00d8\\end{equation} |\r\n\r\n\r\n\r\n#### Constants cannot be mutated\r\n\r\n\r\n```python\r\ne_d.n = 10\r\n```\r\n\r\n Constant cannot be mutated. You cannot set any attribute value. Instantiate a new variable.\r\n\r\n\r\n## Variable\r\n\r\n\r\n```python\r\ncapacitor_plate_separation = nsy.Variable(\r\n name=\"capacitor_plate_separation\",\r\n symbol= \"d\",\r\n numerical=None,\r\n unit=nsy.u.meter\r\n)\r\ncapacitor_plate_separation\r\n```\r\n\r\n\r\n\r\n\r\n| | Variable |\r\n|:--------------------|:-----------------------------------------------------|\r\n| name | capacitor_plate_separation |\r\n| symbol | \\begin{equation}d\\end{equation} |\r\n| symbolic_expression | \\begin{equation}\u00d8\\end{equation} |\r\n| numerical | |\r\n| unit | Symbol: \\begin{equation}m\\end{equation} |\r\n| | Symbolic Expression: \\begin{equation}\u00d8\\end{equation} |\r\n\r\n\r\n\r\n\r\n```python\r\ncapacitor_plate_separation.s\r\n```\r\n\r\n\r\n\r\n\r\n$\\displaystyle d$\r\n\r\n\r\n\r\n\r\n```python\r\ncapacitor_plate_separation.u\r\n```\r\n\r\n\r\n\r\n\r\n| | Unit |\r\n|:--------------------|:--------------------------------|\r\n| name | meter |\r\n| symbol | \\begin{equation}m\\end{equation} |\r\n| symbolic_expression | \\begin{equation}\u00d8\\end{equation} |\r\n\r\n\r\n\r\n#### Variables can be mutated\r\n\r\n\r\n```python\r\ncapacitor_plate_separation.n = 1e-6\r\ncapacitor_plate_separation.n\r\n```\r\n\r\n\r\n\r\n\r\n 1e-06\r\n\r\n\r\n\r\n\r\n```python\r\ncapacitor_plate_separation.numerical = 3e-5\r\ncapacitor_plate_separation.numerical\r\n```\r\n\r\n\r\n\r\n\r\n 3e-05\r\n\r\n\r\n\r\n#### Operate between Value objects\r\nConstants and Variables are value objects.\r\n\r\n\r\n```python\r\ncapacitance_per_plate_cross_sectional_area = e_d / (e_0 * capacitor_plate_separation)\r\ncapacitance_per_plate_cross_sectional_area\r\n```\r\n\r\n\r\n\r\n\r\n| | Value |\r\n|:--------------------|:--------------------------------------------------------------|\r\n| name | |\r\n| symbol | \\begin{equation}\u00d8\\end{equation} |\r\n| symbolic_expression | \\begin{equation}\\frac{\\epsilon_d}{\\epsilon_0 d}\\end{equation} |\r\n| numerical | 1.8823484456216984e+16 |\r\n| unit | Symbol: \\begin{equation}\u00d8\\end{equation} |\r\n| | Symbolic Expression: \\begin{equation}\\frac{}{F}\\end{equation} |\r\n\r\n\r\n\r\n\r\n```python\r\ncapacitance_per_plate_cross_sectional_area.se\r\n```\r\n\r\n\r\n\r\n\r\n$\\displaystyle \\frac{\\epsilon_d}{\\epsilon_0 d}$\r\n\r\n\r\n\r\n\r\n```python\r\ncapacitance_per_plate_cross_sectional_area.n\r\n```\r\n\r\n\r\n\r\n\r\n 1.8823484456216984e+16\r\n\r\n\r\n\r\n#### Perform Flexible Class Operations\r\n\r\n\r\n```python\r\nraw_capacitor_cross_sectional_area = (1e-6) ** 2\r\nraw_capacitor_cross_sectional_area\r\n```\r\n\r\n\r\n\r\n\r\n 1e-12\r\n\r\n\r\n\r\n\r\n```python\r\ndevice_capacitance = capacitance_per_plate_cross_sectional_area * raw_capacitor_cross_sectional_area\r\ndevice_capacitance\r\n```\r\n\r\n\r\n\r\n\r\n| | Value |\r\n|:--------------------|:----------------------------------------------------------------|\r\n| name | |\r\n| symbol | \\begin{equation}\u00d8\\end{equation} |\r\n| symbolic_expression | \\begin{equation}\\frac{\\epsilon_d \u00d8}{\\epsilon_0 d}\\end{equation} |\r\n| numerical | 18823.484456216982 |\r\n| unit | Symbol: \\begin{equation}\u00d8\\end{equation} |\r\n| | Symbolic Expression: \\begin{equation}\\frac{\u00d8}{F}\\end{equation} |\r\n\r\n\r\n\r\n\r\n```python\r\ndevice_capacitance.name\r\n```\r\n\r\n\r\n\r\n\r\n ''\r\n\r\n\r\n\r\n\r\n```python\r\ndevice_capacitance.se\r\n```\r\n\r\n\r\n\r\n\r\n$\\displaystyle \\frac{\\epsilon_d \u00d8}{\\epsilon_0 d}$\r\n\r\n\r\n\r\n\r\n```python\r\ndevice_capacitance.symbol = \"F\"\r\ndevice_capacitance.symbol\r\n```\r\n\r\n\r\n\r\n\r\n$\\displaystyle F$\r\n\r\n\r\n\r\n\r\n```python\r\nraw_capacitor_cross_sectional_area\r\n```\r\n\r\n\r\n\r\n\r\n 1e-12\r\n\r\n\r\n\r\n##### Example Functions\r\n\r\n\r\n```python\r\nnsy.sqrt(device_capacitance)\r\n```\r\n\r\n\r\n\r\n\r\n| | Value |\r\n|:--------------------|:----------------------------------------------------------------------|\r\n| name | |\r\n| symbol | \\begin{equation}\u00d8\\end{equation} |\r\n| symbolic_expression | \\begin{equation}\\sqrt{F}\\end{equation} |\r\n| numerical | 137.19870428038664 |\r\n| unit | Symbol: \\begin{equation}\u00d8\\end{equation} |\r\n| | Symbolic Expression: \\begin{equation}\\sqrt{\\frac{\u00d8}{F}}\\end{equation} |\r\n\r\n\r\n\r\n\r\n```python\r\nnsy.sinh(device_capacitance)\r\n```\r\n\r\n\r\n\r\n\r\n\r\n| | Value |\r\n|:--------------------|:----------------------------------------------------------------------|\r\n| name | |\r\n| symbol | \\begin{equation}\u00d8\\end{equation} |\r\n| symbolic_expression | \\begin{equation}\\sinh{\\left(F \\right)}\\end{equation} |\r\n| numerical | inf |\r\n| unit | Symbol: \\begin{equation}\u00d8\\end{equation} |\r\n| | Symbolic Expression: \\begin{equation}\\sqrt{\\frac{\u00d8}{F}}\\end{equation} |\r\n\r\n\r\n\r\n\r\n### Future plans\r\n* Extend unit management and verification.\r\n* Create a full constants list, probably even in Excel or as an importable CSV file into Pandas.\r\n\r\nOpen to contributions.\r\n",
"bugtrack_url": null,
"license": "",
"summary": "NumpSy - Integrated NumPy, SymPy, SciPy and Pandas with unit management for scientific programming with IPython.",
"version": "0.0.12",
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b77f7bdf1a229d9be7626438b75b385d02e1eb05ea0a7095d4f825b85d6fc1db",
"md5": "dc667b87de05050097f71fdd954b0b37",
"sha256": "76dd0a3a48b5c4da2f3cc80cbfdfe7ac0b7785d0969aec1115de259a9b884cd5"
},
"downloads": -1,
"filename": "numpsy-0.0.12-py3-none-any.whl",
"has_sig": false,
"md5_digest": "dc667b87de05050097f71fdd954b0b37",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 13985,
"upload_time": "2023-03-23T16:33:39",
"upload_time_iso_8601": "2023-03-23T16:33:39.912730Z",
"url": "https://files.pythonhosted.org/packages/b7/7f/7bdf1a229d9be7626438b75b385d02e1eb05ea0a7095d4f825b85d6fc1db/numpsy-0.0.12-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6184d6a5283652dc47336c24e99cd16029e973271579eb93fa082a58a6c806a6",
"md5": "0646075178a50a8b7b1ab4dffe0f4ce2",
"sha256": "1a8309fedb80e467b936d327eb0434e205af9418143bf33b3956b6493fcd4b8d"
},
"downloads": -1,
"filename": "numpsy-0.0.12.tar.gz",
"has_sig": false,
"md5_digest": "0646075178a50a8b7b1ab4dffe0f4ce2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 15272,
"upload_time": "2023-03-23T16:33:42",
"upload_time_iso_8601": "2023-03-23T16:33:42.189172Z",
"url": "https://files.pythonhosted.org/packages/61/84/d6a5283652dc47336c24e99cd16029e973271579eb93fa082a58a6c806a6/numpsy-0.0.12.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-03-23 16:33:42",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "daquintero",
"github_project": "numpsy",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "numpsy"
}