chainopy


Namechainopy JSON
Version 1.0.3 PyPI version JSON
download
home_pagehttps://github.com/aadya940/chainopy
SummaryA Python Library for Markov Chain based Stochastic Analysis!
upload_time2024-08-12 12:45:57
maintainerNone
docs_urlNone
authorAadya Aneesh Chinubhai
requires_python>=3.10
licenseCopyright 2024 Aadya Chinubhai Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS β€œAS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
keywords markov chain stochastic analysis python
VCS
bugtrack_url
requirements numpy cython scipy xarray matplotlib networkx torch statsmodels
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![logo1](https://github.com/aadya940/chainopy/assets/77720426/9c8d3781-945a-4ccb-a70f-2515cc1a8be6)

# ChainoPy 1.0
A Python 🐍 Package for Markov Chains, Markov Chain Neural Networks and Markov Switching Models.

## Why ChainoPy?
- Covers most of the fundamental agorithms for Markov Chain Analysis
- Memory efficient Model saving 
- Faster than other libraries (eg: 5x Faster than PyDTMC)
- First Package to contain functions to build equivalent [Markov Chain Neural Networks](https://openaccess.thecvf.com/content_cvpr_2018_workshops/papers/w42/Awiszus_Markov_Chain_Neural_CVPR_2018_paper.pdf) from Markov Chains.
- Contains Markov Switching Models for Univariate Time Series Analysis
- Supports Numpy 2.0.0
  


# How to Install ChainoPy?

### Using pip

```bash
pip install chainopy
```

### Build from Source

Before you begin, ensure you have the following installed on your system:
- Python (> 3.9 )

### 1. Clone the Repository
Fork and Clone the Chainopy repository to your local machine using Git:

```bash
git clone https://github.com/aadya940/chainopy.git
```

Navigate to the directory which contains the `pyproject.toml` file.

### 2. Install the package
```bash
python -m build
```


# How to run ChainoPy Tests?
 1. Clone the project locally 
 2. Install packages mentioned in `requirements.txt` and `requirements_test.txt`
 3. Navigate to the directory containing `tests` folder
 4. Run the following command:
```bash
python -m pytest tests/
```

You're all Set! πŸ˜ƒ πŸ‘


# The Basics
Create Markov Chains and Markov Chain Neural Networks as follows:
```
>>> import chainopy
>>> mc = chainopy.MarkovChain([[0, 1], [1, 0]], states = ["Rain", "No-Rain"])    # Creates a two-states Markov Chain stored in `mc`.
>>> neural_network = chainopy.MarkovChainNeuralNetwork(mc, num_layers = 5)    # Creates a 5-layered Neural Network that simulates `mc`. 
```

![image](https://github.com/user-attachments/assets/ff8801eb-bf0d-44d5-8ff5-706698164634)

Create a Markov Switching Model as follows:

```
>>> import numpy as np
>>> import random
>>> from chainopy import MarkovSwitchingModel
>>> X = np.random.normal(0, 1, 1000) + np.random.logistic(5, 10, 1000) # Generate Random Training Data
>>> regime_col = [random.choice(["High", "Low", "Stagnant"]) for _ in range(1000)] # Generate Regimes for Training Data
>>> mod = MarkovSwitchingModel()
>>> mod.fit(X, regime_col)
>>> y, regime_y = mod.predict("High", steps=20)
```

Generates Data as follows:
- `X`: We generate 1000 data points by combining a normal distribution (mean = 0, standard deviation = 1) with a logistic 
distribution (mean = 5, scale = 10). This creates a complex dataset with variations.
- `regime_col`: We assign one of three possible regimes ("High", "Low", "Stagnant") to each data point. This is done by randomly
selecting one of these regimes for each of the 1000 data points.

Later, Creates a Markov Switching Model using `chainopy.MarkovSwitchingModel` with 3 regimes (High, Low and Stagnant) and 
predicts the next twenty steps if the start states is "High". 

### Example - Apple Weekly High Stock data prediction using chainopy.MarkovSwitchingModel
![image](https://github.com/aadya940/chainopy/assets/77720426/2d3ed6c0-5936-4fbe-9984-fdbe33e85e9a)

# How to Contribute?

1. Fork the Project.
2. Clone the Project locally.
3. Create a New Branch to Contribute.
4. run `pip install -r requirements.txt` and `pip install -r requirements_test.txt` to download dependencies.
5. Do the changes of interest (Make sure to write docstrings).
6. Write Unit Tests and test your implementation.
7. Format the code using the Black Formatter.
8. Push the changes and submit a Pull Request.

Note: If your implementation is Cython, justify its usage in your PR to make the code more maintainable.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/aadya940/chainopy",
    "name": "chainopy",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "markov chain, stochastic analysis, python",
    "author": "Aadya Aneesh Chinubhai",
    "author_email": "Aadya Aneesh Chinubhai <aadyachinubhai@gmail.com>",
    "download_url": null,
    "platform": null,
    "description": "![logo1](https://github.com/aadya940/chainopy/assets/77720426/9c8d3781-945a-4ccb-a70f-2515cc1a8be6)\n\n# ChainoPy 1.0\nA Python \ud83d\udc0d Package for Markov Chains, Markov Chain Neural Networks and Markov Switching Models.\n\n## Why ChainoPy?\n- Covers most of the fundamental agorithms for Markov Chain Analysis\n- Memory efficient Model saving \n- Faster than other libraries (eg: 5x Faster than PyDTMC)\n- First Package to contain functions to build equivalent [Markov Chain Neural Networks](https://openaccess.thecvf.com/content_cvpr_2018_workshops/papers/w42/Awiszus_Markov_Chain_Neural_CVPR_2018_paper.pdf) from Markov Chains.\n- Contains Markov Switching Models for Univariate Time Series Analysis\n- Supports Numpy 2.0.0\n  \n\n\n# How to Install ChainoPy?\n\n### Using pip\n\n```bash\npip install chainopy\n```\n\n### Build from Source\n\nBefore you begin, ensure you have the following installed on your system:\n- Python (> 3.9 )\n\n### 1. Clone the Repository\nFork and Clone the Chainopy repository to your local machine using Git:\n\n```bash\ngit clone https://github.com/aadya940/chainopy.git\n```\n\nNavigate to the directory which contains the `pyproject.toml` file.\n\n### 2. Install the package\n```bash\npython -m build\n```\n\n\n# How to run ChainoPy Tests?\n 1. Clone the project locally \n 2. Install packages mentioned in `requirements.txt` and `requirements_test.txt`\n 3. Navigate to the directory containing `tests` folder\n 4. Run the following command:\n```bash\npython -m pytest tests/\n```\n\nYou're all Set! \ud83d\ude03 \ud83d\udc4d\n\n\n# The Basics\nCreate Markov Chains and Markov Chain Neural Networks as follows:\n```\n>>> import chainopy\n>>> mc = chainopy.MarkovChain([[0, 1], [1, 0]], states = [\"Rain\", \"No-Rain\"])    # Creates a two-states Markov Chain stored in `mc`.\n>>> neural_network = chainopy.MarkovChainNeuralNetwork(mc, num_layers = 5)    # Creates a 5-layered Neural Network that simulates `mc`. \n```\n\n![image](https://github.com/user-attachments/assets/ff8801eb-bf0d-44d5-8ff5-706698164634)\n\nCreate a Markov Switching Model as follows:\n\n```\n>>> import numpy as np\n>>> import random\n>>> from chainopy import MarkovSwitchingModel\n>>> X = np.random.normal(0, 1, 1000) + np.random.logistic(5, 10, 1000) # Generate Random Training Data\n>>> regime_col = [random.choice([\"High\", \"Low\", \"Stagnant\"]) for _ in range(1000)] # Generate Regimes for Training Data\n>>> mod = MarkovSwitchingModel()\n>>> mod.fit(X, regime_col)\n>>> y, regime_y = mod.predict(\"High\", steps=20)\n```\n\nGenerates Data as follows:\n- `X`: We generate 1000 data points by combining a normal distribution (mean = 0, standard deviation = 1) with a logistic \ndistribution (mean = 5, scale = 10). This creates a complex dataset with variations.\n- `regime_col`: We assign one of three possible regimes (\"High\", \"Low\", \"Stagnant\") to each data point. This is done by randomly\nselecting one of these regimes for each of the 1000 data points.\n\nLater, Creates a Markov Switching Model using `chainopy.MarkovSwitchingModel` with 3 regimes (High, Low and Stagnant) and \npredicts the next twenty steps if the start states is \"High\". \n\n### Example - Apple Weekly High Stock data prediction using chainopy.MarkovSwitchingModel\n![image](https://github.com/aadya940/chainopy/assets/77720426/2d3ed6c0-5936-4fbe-9984-fdbe33e85e9a)\n\n# How to Contribute?\n\n1. Fork the Project.\n2. Clone the Project locally.\n3. Create a New Branch to Contribute.\n4. run `pip install -r requirements.txt` and `pip install -r requirements_test.txt` to download dependencies.\n5. Do the changes of interest (Make sure to write docstrings).\n6. Write Unit Tests and test your implementation.\n7. Format the code using the Black Formatter.\n8. Push the changes and submit a Pull Request.\n\nNote: If your implementation is Cython, justify its usage in your PR to make the code more maintainable.\n",
    "bugtrack_url": null,
    "license": "Copyright 2024 Aadya Chinubhai  Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \u201cAS IS\u201d AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ",
    "summary": "A Python Library for Markov Chain based Stochastic Analysis!",
    "version": "1.0.3",
    "project_urls": {
        "Homepage": "https://github.com/aadya940/chainopy",
        "homepage": "https://chainopy.readthedocs.io/en/latest/",
        "repository": "https://github.com/aadya940/chainopy"
    },
    "split_keywords": [
        "markov chain",
        " stochastic analysis",
        " python"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "63ac0d9bb8c37d57a3fe7db3120527c6cec1e8e54b30851f2d86a148a73b7b79",
                "md5": "c4caff3a6f5ca5dd7c7b039c27341ca7",
                "sha256": "75d5f36a3fad0e812bfec79553d192ebcadc5382ed65a752e720456d52d7e339"
            },
            "downloads": -1,
            "filename": "chainopy-1.0.3-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c4caff3a6f5ca5dd7c7b039c27341ca7",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.10",
            "size": 267492,
            "upload_time": "2024-08-12T12:45:57",
            "upload_time_iso_8601": "2024-08-12T12:45:57.372348Z",
            "url": "https://files.pythonhosted.org/packages/63/ac/0d9bb8c37d57a3fe7db3120527c6cec1e8e54b30851f2d86a148a73b7b79/chainopy-1.0.3-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d52966097f14a2ce2499e1400c11213bb6621f7ef39c414ae3d8e61c88d29b0a",
                "md5": "4ab5c97d782ee395568edcffa6064eb7",
                "sha256": "e987d4718d0765986df6c6fb1ac8d326af34b4d595e72627bcd94d4d33dd4696"
            },
            "downloads": -1,
            "filename": "chainopy-1.0.3-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "4ab5c97d782ee395568edcffa6064eb7",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.10",
            "size": 256361,
            "upload_time": "2024-08-12T12:45:58",
            "upload_time_iso_8601": "2024-08-12T12:45:58.562755Z",
            "url": "https://files.pythonhosted.org/packages/d5/29/66097f14a2ce2499e1400c11213bb6621f7ef39c414ae3d8e61c88d29b0a/chainopy-1.0.3-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "46a4a50a926c8c7d8e70c2d66df86cc445d41aee2a02d79f72a11ce124cba6e4",
                "md5": "c055b97dd38388bf82b8d19bc524a502",
                "sha256": "cdec9930fcf0691e8d201d20f4bc19b73ae838987437390c722ba2e4fffefec0"
            },
            "downloads": -1,
            "filename": "chainopy-1.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c055b97dd38388bf82b8d19bc524a502",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.10",
            "size": 1321437,
            "upload_time": "2024-08-12T12:45:59",
            "upload_time_iso_8601": "2024-08-12T12:45:59.612993Z",
            "url": "https://files.pythonhosted.org/packages/46/a4/a50a926c8c7d8e70c2d66df86cc445d41aee2a02d79f72a11ce124cba6e4/chainopy-1.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "181a2dc4c5cc8ade08aad610cf9c6625a16eb7d1f4077701b7641c81003ad4fd",
                "md5": "9601133c90b1d3cc793a13384e59d3f2",
                "sha256": "7064d1b0952232404adb00f79bd64247264dd1feb9a6d294a605277824e9d734"
            },
            "downloads": -1,
            "filename": "chainopy-1.0.3-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "9601133c90b1d3cc793a13384e59d3f2",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.10",
            "size": 255099,
            "upload_time": "2024-08-12T12:46:01",
            "upload_time_iso_8601": "2024-08-12T12:46:01.299007Z",
            "url": "https://files.pythonhosted.org/packages/18/1a/2dc4c5cc8ade08aad610cf9c6625a16eb7d1f4077701b7641c81003ad4fd/chainopy-1.0.3-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e14ccc016c966dc8c9d2d64e88bb3cb9da90b487f5d4d56c1fa8895f86b15cbd",
                "md5": "ac9f7f268a6954eacb7c7d591c14106f",
                "sha256": "1b9a0573047d2bca683e16abda60dc51dbda0182da12d4794ff8bff66f5193c2"
            },
            "downloads": -1,
            "filename": "chainopy-1.0.3-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ac9f7f268a6954eacb7c7d591c14106f",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.10",
            "size": 267152,
            "upload_time": "2024-08-12T12:46:02",
            "upload_time_iso_8601": "2024-08-12T12:46:02.744637Z",
            "url": "https://files.pythonhosted.org/packages/e1/4c/cc016c966dc8c9d2d64e88bb3cb9da90b487f5d4d56c1fa8895f86b15cbd/chainopy-1.0.3-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1981b7155593a3c25a91c1fe2ba2f79aba2bf142fa2ae276c3dd30522296e57d",
                "md5": "18a0d76e641f1efe7ad6088192c80f62",
                "sha256": "45f1a92056d8121b0b6c0ee6d364f39394f86200e91f5d2ec07dc0c54c371a5e"
            },
            "downloads": -1,
            "filename": "chainopy-1.0.3-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "18a0d76e641f1efe7ad6088192c80f62",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.10",
            "size": 255785,
            "upload_time": "2024-08-12T12:46:04",
            "upload_time_iso_8601": "2024-08-12T12:46:04.233378Z",
            "url": "https://files.pythonhosted.org/packages/19/81/b7155593a3c25a91c1fe2ba2f79aba2bf142fa2ae276c3dd30522296e57d/chainopy-1.0.3-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2d0f566f825b097bc026c18918c0fc3e91f08034f07d4c4f3b07715340c4eb02",
                "md5": "18d27e791e658cfbcf4226bdffa3ff61",
                "sha256": "2954c4ef23cad7556c50fa0f7b58b85d368a0a49688039b5766022bba4fc941e"
            },
            "downloads": -1,
            "filename": "chainopy-1.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "18d27e791e658cfbcf4226bdffa3ff61",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.10",
            "size": 1431801,
            "upload_time": "2024-08-12T12:46:05",
            "upload_time_iso_8601": "2024-08-12T12:46:05.320733Z",
            "url": "https://files.pythonhosted.org/packages/2d/0f/566f825b097bc026c18918c0fc3e91f08034f07d4c4f3b07715340c4eb02/chainopy-1.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4ecfc9d281cde8097ca37ceebe8b8d49e599ece81a8e7d8ac5e453b5a34064ab",
                "md5": "15723a1692ba4f23c0d1257ee15812ab",
                "sha256": "3ddd196c4ea5db9fc971ccc66e58c84bb98039d1f40e8d3202a593938af32bdb"
            },
            "downloads": -1,
            "filename": "chainopy-1.0.3-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "15723a1692ba4f23c0d1257ee15812ab",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.10",
            "size": 255380,
            "upload_time": "2024-08-12T12:46:07",
            "upload_time_iso_8601": "2024-08-12T12:46:07.243465Z",
            "url": "https://files.pythonhosted.org/packages/4e/cf/c9d281cde8097ca37ceebe8b8d49e599ece81a8e7d8ac5e453b5a34064ab/chainopy-1.0.3-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1a988b05c97bb007dddf6926814c7e2e42ee8fe671268aa5cc516b6a590dcec1",
                "md5": "9941f2590334d7fc3aaf23f8bb522856",
                "sha256": "b9c41ee4c622129fede8cb0b480ddc9cd7040e0e8d367cb9e43534a9154903d8"
            },
            "downloads": -1,
            "filename": "chainopy-1.0.3-cp312-cp312-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9941f2590334d7fc3aaf23f8bb522856",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.10",
            "size": 268841,
            "upload_time": "2024-08-12T12:46:08",
            "upload_time_iso_8601": "2024-08-12T12:46:08.917277Z",
            "url": "https://files.pythonhosted.org/packages/1a/98/8b05c97bb007dddf6926814c7e2e42ee8fe671268aa5cc516b6a590dcec1/chainopy-1.0.3-cp312-cp312-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "81068a51089b517cd991c2977460980949609c995e53406edc113b55f6ef24e1",
                "md5": "15116314bfc75e39e257730868b0e573",
                "sha256": "44f476d75a45e7fda8812bae370f6680f5b722fcf693592f5886445f3e491478"
            },
            "downloads": -1,
            "filename": "chainopy-1.0.3-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "15116314bfc75e39e257730868b0e573",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.10",
            "size": 256297,
            "upload_time": "2024-08-12T12:46:10",
            "upload_time_iso_8601": "2024-08-12T12:46:10.000154Z",
            "url": "https://files.pythonhosted.org/packages/81/06/8a51089b517cd991c2977460980949609c995e53406edc113b55f6ef24e1/chainopy-1.0.3-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5134e9891a428fdacc171b6984c074131ec5d7d57b2a1a6678ddfefa49b9b4d8",
                "md5": "222e6346c22411e486ac27781c54ab04",
                "sha256": "27656b93599d50f9aebc9495516a3a32e3a0db9f04679d0bcd0ea80e2c039941"
            },
            "downloads": -1,
            "filename": "chainopy-1.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "222e6346c22411e486ac27781c54ab04",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.10",
            "size": 1434141,
            "upload_time": "2024-08-12T12:46:11",
            "upload_time_iso_8601": "2024-08-12T12:46:11.515274Z",
            "url": "https://files.pythonhosted.org/packages/51/34/e9891a428fdacc171b6984c074131ec5d7d57b2a1a6678ddfefa49b9b4d8/chainopy-1.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1edcdf6d96efa2f5bdaf4763d6ae94d3f0be916bef5514bb464e2f04a08e393f",
                "md5": "7dd85c9bc33796d12955f32b37560c8a",
                "sha256": "869610e9e238b4c7ebe0cdbecbb9f134830d2553ad7e153672ccfe04134598ba"
            },
            "downloads": -1,
            "filename": "chainopy-1.0.3-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "7dd85c9bc33796d12955f32b37560c8a",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.10",
            "size": 257660,
            "upload_time": "2024-08-12T12:46:12",
            "upload_time_iso_8601": "2024-08-12T12:46:12.719880Z",
            "url": "https://files.pythonhosted.org/packages/1e/dc/df6d96efa2f5bdaf4763d6ae94d3f0be916bef5514bb464e2f04a08e393f/chainopy-1.0.3-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-12 12:45:57",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "aadya940",
    "github_project": "chainopy",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "numpy",
            "specs": [
                [
                    "==",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "cython",
            "specs": [
                [
                    ">=",
                    "3.0.4"
                ]
            ]
        },
        {
            "name": "scipy",
            "specs": [
                [
                    ">=",
                    "1.13.0"
                ]
            ]
        },
        {
            "name": "xarray",
            "specs": [
                [
                    ">=",
                    "2024.06.0"
                ]
            ]
        },
        {
            "name": "matplotlib",
            "specs": [
                [
                    ">=",
                    "3.8.4"
                ]
            ]
        },
        {
            "name": "networkx",
            "specs": [
                [
                    "==",
                    "3.3"
                ]
            ]
        },
        {
            "name": "torch",
            "specs": [
                [
                    ">=",
                    "2.3.0"
                ]
            ]
        },
        {
            "name": "statsmodels",
            "specs": [
                [
                    ">=",
                    "0.14.2"
                ]
            ]
        }
    ],
    "lcname": "chainopy"
}
        
Elapsed time: 4.47380s