cmtj


Namecmtj JSON
Version 1.5.3 PyPI version JSON
download
home_pagehttps://github.com/LemurPwned/cmtj
SummaryCMTJ - C Magnetic Tunnel Junctions.
upload_time2024-05-15 20:25:17
maintainerNone
docs_urlNone
authorJakub
requires_pythonNone
licenseNone
keywords magnetics physics simulation spintronics
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <img style="float: right; max-width: 50px;" src="assets/icon.svg">

# CMTJ

[![PyPI](https://github.com/LemurPwned/cmtj/actions/workflows/main.yml/badge.svg?branch=master)](https://github.com/LemurPwned/cmtj/actions/workflows/main.yml)
[![pages-build-deployment](https://github.com/LemurPwned/cmtj/actions/workflows/pages/pages-build-deployment/badge.svg?branch=gh-pages)](https://github.com/LemurPwned/cmtj/actions/workflows/pages/pages-build-deployment)
[![Version](https://img.shields.io/pypi/v/cmtj)](https://pypi.org/project/cmtj/)
[![License](https://img.shields.io/pypi/l/cmtj.svg)](https://github.com/LemurPwned/cmtj/blob/master/LICENSE)
[![Streamlit](https://static.streamlit.io/badges/streamlit_badge_black_white.svg)](http://cmtj-simulations.streamlit.app/)
![Downloads](https://img.shields.io/pypi/dm/cmtj.svg)

## Table of contents

- [CMTJ](#cmtj)
  - [Table of contents](#table-of-contents)
  - [Short description](#short-description)
  - [Web GUI](#web-gui)
  - [Quickstart](#quickstart)
    - [Installation :rocket:](#installation-rocket)
    - [Extra dependencies](#extra-dependencies)
  - [Documentation and examples](#documentation-and-examples)
  - [Extensions](#extensions)
  - [Citing](#citing)
- [Development](#development)
  - [Acknowledgements](#acknowledgements)
  - [Contributions](#contributions)
  - [Docker](#docker)
  - [Precommit](#precommit)
  - [Documentation builds](#documentation-builds)

## Short description

The `cmtj` name may be misleading -- the MTJ (Magnetic Tunnel Junctions) are not the only structures that may be simulated.
The library allows for macromagnetic simulation of various multilayer spintronic structures. The package uses C++ implementation of (s)LLGS (stochastic Landau-Lifschitz-Gilbert-Slonczewski) equation with various field contributions included for instance: anisotropy, interlayer exchange coupling, demagnetisation, dipole fields etc.
It is also possible to connect devices in parallel or in series to have electrically coupled arrays.

## Web GUI

Check out the [streamlit hosted demo here](http://cmtj-simulations.streamlit.app/). You can simulate PIMM spectra and Spin-Diode spectra there. Let us know if you have any issues with the demo.

## Quickstart

#### Installation :rocket:

The recommended way is to use the `pip` package manager and virtualenv (or conda).
Installation is as easy as doing:

1. With `virtualenv` (recommended):

```bash
$(bash) python -m venv .my-venv
$(bash) source .my-venv/bin/activate
$(.my-venv) python -m pip install cmtj
```

2. Straight from `pip`:

```bash
python3 -m pip install cmtj
```

3. Straight from source:

```bash
python3 -m pip install git+https://github.com/LemurPwned/cmtj.git
```

4. Clone the repository:

```bash
git clone https://github.com/LemurPwned/cmtj.git
python3 -m pip install .
```

#### Extra dependencies

The package requires (if `utils` subpackage is used):

```
- numpy
- scipy
- matplotlib
```

## Documentation and examples

Documentation: [https://lemurpwned.github.io/cmtj](https://lemurpwned.github.io/cmtj).
There are many examples available, check out the [examples section in the docs](https://lemurpwned.github.io/cmtj/experimental-methods/introduction/)

## Extensions

There's a GUI version available! If you wish to conduct a subset of simulations, mainly for experimental modelling, please see the _PyMag_ project. It uses CMTJ as a backend for fast computation.

## Citing

We would appreciate citing either of the listed work if you decide to use the project or using the cite button on the right hand side panel of the repository:

[**cmtj: Simulation package for analysis of multilayer spintronic devices**](https://www.nature.com/articles/s41524-023-01002-x)

```bibtex
@article{mojsiejuk_cmtj_2023,
	title = {cmtj: Simulation package for analysis of multilayer spintronic devices},
	volume = {9},
	issn = {2057-3960},
	url = {https://www.nature.com/articles/s41524-023-01002-x},
	doi = {10.1038/s41524-023-01002-x},
	pages = {54},
	number = {1},
	journaltitle = {npj Comput Mater},
	author = {Mojsiejuk, Jakub and Ziętek, Sławomir and Grochot, Krzysztof and Skowroński, Witold and Stobiecki, Tomasz},
	date = {2023-04-06},
}
```

# Development

## Acknowledgements

Many thanks to professor Jack Sankey for his help with the development of thermal contributions, with inspiration from the [macrospinmob project](https://github.com/Spinmob/macrospinmob).

## Contributions

All contributions are welcome, please leave an issue if you've encountered any trouble with setup or running the library.

## Docker

In the `docker` directory there's a `Dockerfile` that can be used to build a docker image with the library installed.
`Dockerfile.app` is used for streamlit development.

## Precommit

There's a `.pre-commit-config.yaml` that does some basic python and cpp lints and checks. More static analysis to come in the future.
This may be run with:

```
pre-commit run -v
```

or

```
pre-commit run -a (or --files core/* cmtj/*)
```

## Documentation builds

There are couple of stages to building the documentation

1. Build Doxygen documentation
   ```
   doxygen Doxyfile
   ```
   This is mostly for the C++ documentation. Furture changes may couple C++ and Python docs.
2. Build stubs
   The stubgen is `pybind11-stubgen` or `mypy stubgen` with the latter being preferred now.
   Before running the stubgen, make sure to install the package with:
   ```
   python3 -m pip install .
   ```
   avoid using `-e` flag as it may cause issues with the stubgen.
   Then to generate, for instance, `Stack` module stubs we can do:
   ```
   stubgen -m cmtj.stack -o target-stub-dir/
   ```
   or
   ```
   python3 -c "import mypy.stubgen; mypy.stubgen.main(['-p', 'cmtj.stack', '-o', 'target-stub-dir/'])"
   ```
   More info here: https://mypy.readthedocs.io/en/stable/stubgen.html.
3. Parse stubs to Markdown.
   This stage is done by running:
   `python3 docs/docgen.py `
   The deployment of the documentation is done via:
   ```bash
   mkdocs gh-deploy
   ```
   But first, worth a check:
   ```bash
   mkdocs serve
   ```



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/LemurPwned/cmtj",
    "name": "cmtj",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "magnetics, physics, simulation, spintronics",
    "author": "Jakub",
    "author_email": "mojsieju@agh.edu.pl",
    "download_url": null,
    "platform": null,
    "description": "<img style=\"float: right; max-width: 50px;\" src=\"assets/icon.svg\">\n\n# CMTJ\n\n[![PyPI](https://github.com/LemurPwned/cmtj/actions/workflows/main.yml/badge.svg?branch=master)](https://github.com/LemurPwned/cmtj/actions/workflows/main.yml)\n[![pages-build-deployment](https://github.com/LemurPwned/cmtj/actions/workflows/pages/pages-build-deployment/badge.svg?branch=gh-pages)](https://github.com/LemurPwned/cmtj/actions/workflows/pages/pages-build-deployment)\n[![Version](https://img.shields.io/pypi/v/cmtj)](https://pypi.org/project/cmtj/)\n[![License](https://img.shields.io/pypi/l/cmtj.svg)](https://github.com/LemurPwned/cmtj/blob/master/LICENSE)\n[![Streamlit](https://static.streamlit.io/badges/streamlit_badge_black_white.svg)](http://cmtj-simulations.streamlit.app/)\n![Downloads](https://img.shields.io/pypi/dm/cmtj.svg)\n\n## Table of contents\n\n- [CMTJ](#cmtj)\n  - [Table of contents](#table-of-contents)\n  - [Short description](#short-description)\n  - [Web GUI](#web-gui)\n  - [Quickstart](#quickstart)\n    - [Installation :rocket:](#installation-rocket)\n    - [Extra dependencies](#extra-dependencies)\n  - [Documentation and examples](#documentation-and-examples)\n  - [Extensions](#extensions)\n  - [Citing](#citing)\n- [Development](#development)\n  - [Acknowledgements](#acknowledgements)\n  - [Contributions](#contributions)\n  - [Docker](#docker)\n  - [Precommit](#precommit)\n  - [Documentation builds](#documentation-builds)\n\n## Short description\n\nThe `cmtj` name may be misleading -- the MTJ (Magnetic Tunnel Junctions) are not the only structures that may be simulated.\nThe library allows for macromagnetic simulation of various multilayer spintronic structures. The package uses C++ implementation of (s)LLGS (stochastic Landau-Lifschitz-Gilbert-Slonczewski) equation with various field contributions included for instance: anisotropy, interlayer exchange coupling, demagnetisation, dipole fields etc.\nIt is also possible to connect devices in parallel or in series to have electrically coupled arrays.\n\n## Web GUI\n\nCheck out the [streamlit hosted demo here](http://cmtj-simulations.streamlit.app/). You can simulate PIMM spectra and Spin-Diode spectra there. Let us know if you have any issues with the demo.\n\n## Quickstart\n\n#### Installation :rocket:\n\nThe recommended way is to use the `pip` package manager and virtualenv (or conda).\nInstallation is as easy as doing:\n\n1. With `virtualenv` (recommended):\n\n```bash\n$(bash) python -m venv .my-venv\n$(bash) source .my-venv/bin/activate\n$(.my-venv) python -m pip install cmtj\n```\n\n2. Straight from `pip`:\n\n```bash\npython3 -m pip install cmtj\n```\n\n3. Straight from source:\n\n```bash\npython3 -m pip install git+https://github.com/LemurPwned/cmtj.git\n```\n\n4. Clone the repository:\n\n```bash\ngit clone https://github.com/LemurPwned/cmtj.git\npython3 -m pip install .\n```\n\n#### Extra dependencies\n\nThe package requires (if `utils` subpackage is used):\n\n```\n- numpy\n- scipy\n- matplotlib\n```\n\n## Documentation and examples\n\nDocumentation: [https://lemurpwned.github.io/cmtj](https://lemurpwned.github.io/cmtj).\nThere are many examples available, check out the [examples section in the docs](https://lemurpwned.github.io/cmtj/experimental-methods/introduction/)\n\n## Extensions\n\nThere's a GUI version available! If you wish to conduct a subset of simulations, mainly for experimental modelling, please see the _PyMag_ project. It uses CMTJ as a backend for fast computation.\n\n## Citing\n\nWe would appreciate citing either of the listed work if you decide to use the project or using the cite button on the right hand side panel of the repository:\n\n[**cmtj: Simulation package for analysis of multilayer spintronic devices**](https://www.nature.com/articles/s41524-023-01002-x)\n\n```bibtex\n@article{mojsiejuk_cmtj_2023,\n\ttitle = {cmtj: Simulation package for analysis of multilayer spintronic devices},\n\tvolume = {9},\n\tissn = {2057-3960},\n\turl = {https://www.nature.com/articles/s41524-023-01002-x},\n\tdoi = {10.1038/s41524-023-01002-x},\n\tpages = {54},\n\tnumber = {1},\n\tjournaltitle = {npj Comput Mater},\n\tauthor = {Mojsiejuk, Jakub and Zi\u0119tek, S\u0142awomir and Grochot, Krzysztof and Skowro\u0144ski, Witold and Stobiecki, Tomasz},\n\tdate = {2023-04-06},\n}\n```\n\n# Development\n\n## Acknowledgements\n\nMany thanks to professor Jack Sankey for his help with the development of thermal contributions, with inspiration from the [macrospinmob project](https://github.com/Spinmob/macrospinmob).\n\n## Contributions\n\nAll contributions are welcome, please leave an issue if you've encountered any trouble with setup or running the library.\n\n## Docker\n\nIn the `docker` directory there's a `Dockerfile` that can be used to build a docker image with the library installed.\n`Dockerfile.app` is used for streamlit development.\n\n## Precommit\n\nThere's a `.pre-commit-config.yaml` that does some basic python and cpp lints and checks. More static analysis to come in the future.\nThis may be run with:\n\n```\npre-commit run -v\n```\n\nor\n\n```\npre-commit run -a (or --files core/* cmtj/*)\n```\n\n## Documentation builds\n\nThere are couple of stages to building the documentation\n\n1. Build Doxygen documentation\n   ```\n   doxygen Doxyfile\n   ```\n   This is mostly for the C++ documentation. Furture changes may couple C++ and Python docs.\n2. Build stubs\n   The stubgen is `pybind11-stubgen` or `mypy stubgen` with the latter being preferred now.\n   Before running the stubgen, make sure to install the package with:\n   ```\n   python3 -m pip install .\n   ```\n   avoid using `-e` flag as it may cause issues with the stubgen.\n   Then to generate, for instance, `Stack` module stubs we can do:\n   ```\n   stubgen -m cmtj.stack -o target-stub-dir/\n   ```\n   or\n   ```\n   python3 -c \"import mypy.stubgen; mypy.stubgen.main(['-p', 'cmtj.stack', '-o', 'target-stub-dir/'])\"\n   ```\n   More info here: https://mypy.readthedocs.io/en/stable/stubgen.html.\n3. Parse stubs to Markdown.\n   This stage is done by running:\n   `python3 docs/docgen.py `\n   The deployment of the documentation is done via:\n   ```bash\n   mkdocs gh-deploy\n   ```\n   But first, worth a check:\n   ```bash\n   mkdocs serve\n   ```\n\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "CMTJ - C Magnetic Tunnel Junctions.",
    "version": "1.5.3",
    "project_urls": {
        "Homepage": "https://github.com/LemurPwned/cmtj"
    },
    "split_keywords": [
        "magnetics",
        " physics",
        " simulation",
        " spintronics"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e1491ac35057fb80babed4faf30510b8cc7670b6ff86ff6f6d7772ebf0e58996",
                "md5": "865c117ffcc5535975a490cd099801bf",
                "sha256": "695924d079ee0ff61f36d796b0d502b5a35bc57a42852bbf55a1465c8cb6777b"
            },
            "downloads": -1,
            "filename": "cmtj-1.5.3-cp310-cp310-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "865c117ffcc5535975a490cd099801bf",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 627374,
            "upload_time": "2024-05-15T20:25:17",
            "upload_time_iso_8601": "2024-05-15T20:25:17.593598Z",
            "url": "https://files.pythonhosted.org/packages/e1/49/1ac35057fb80babed4faf30510b8cc7670b6ff86ff6f6d7772ebf0e58996/cmtj-1.5.3-cp310-cp310-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "37b5c3dc84e40a971e8f9d1946919ae67ae9abfe951a9eb3d5651282f0d2a8b3",
                "md5": "7ce31a9a9e9f7e72547a00de06d46daa",
                "sha256": "c58cd842bd7c47406dab63b49eb14a6e4632959452efc98dbbcbb9dc3d4f3fe8"
            },
            "downloads": -1,
            "filename": "cmtj-1.5.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "7ce31a9a9e9f7e72547a00de06d46daa",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 3944840,
            "upload_time": "2024-05-15T20:27:32",
            "upload_time_iso_8601": "2024-05-15T20:27:32.473978Z",
            "url": "https://files.pythonhosted.org/packages/37/b5/c3dc84e40a971e8f9d1946919ae67ae9abfe951a9eb3d5651282f0d2a8b3/cmtj-1.5.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fe980c0fe436ce97c6012350f86b6547eb5f46313e33a7b86dac671d714cc770",
                "md5": "5651176a2df8bc7b26fe62ec14c09c97",
                "sha256": "d16dc21d8e22c658f0d4539ca1807ded3b01f114035d8a98fbe25a5ec99a4c63"
            },
            "downloads": -1,
            "filename": "cmtj-1.5.3-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "5651176a2df8bc7b26fe62ec14c09c97",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 261240,
            "upload_time": "2024-05-15T20:26:02",
            "upload_time_iso_8601": "2024-05-15T20:26:02.958183Z",
            "url": "https://files.pythonhosted.org/packages/fe/98/0c0fe436ce97c6012350f86b6547eb5f46313e33a7b86dac671d714cc770/cmtj-1.5.3-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c139346a0d40f1998ded214f5263469f82c69f343ec88e538d3b9a4ec74d7c66",
                "md5": "1b728d487134ab85637159fa04b21e67",
                "sha256": "74ad1700701e7ffcfd799f6e32af9cf8d47b76317cc0c0f61ffbd6278659d129"
            },
            "downloads": -1,
            "filename": "cmtj-1.5.3-cp311-cp311-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "1b728d487134ab85637159fa04b21e67",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 629242,
            "upload_time": "2024-05-15T20:25:06",
            "upload_time_iso_8601": "2024-05-15T20:25:06.322863Z",
            "url": "https://files.pythonhosted.org/packages/c1/39/346a0d40f1998ded214f5263469f82c69f343ec88e538d3b9a4ec74d7c66/cmtj-1.5.3-cp311-cp311-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "31a5ce0d6a1a5dd2259a555c60b077068a664106a06ea791d0eaaf166a872d04",
                "md5": "beaec39ccdad22444084b2faf41398aa",
                "sha256": "bb1c6babc1fb6dcd53ddb2455ba4adfc19a1c73a897d251ed1b274a7f14f31cd"
            },
            "downloads": -1,
            "filename": "cmtj-1.5.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "beaec39ccdad22444084b2faf41398aa",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 3968457,
            "upload_time": "2024-05-15T20:27:34",
            "upload_time_iso_8601": "2024-05-15T20:27:34.070175Z",
            "url": "https://files.pythonhosted.org/packages/31/a5/ce0d6a1a5dd2259a555c60b077068a664106a06ea791d0eaaf166a872d04/cmtj-1.5.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f59cd4b3ca4d1e03429bfebcc667b8e046ac9b056b6240bc11899d6c9cabe0e4",
                "md5": "7873145e8b5fa56667e5323001fc9a50",
                "sha256": "5db31e8da0aeb3ccf5916741ea1ea11176a888f05aedad4cb54f7cb835783714"
            },
            "downloads": -1,
            "filename": "cmtj-1.5.3-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "7873145e8b5fa56667e5323001fc9a50",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 262182,
            "upload_time": "2024-05-15T20:25:47",
            "upload_time_iso_8601": "2024-05-15T20:25:47.116929Z",
            "url": "https://files.pythonhosted.org/packages/f5/9c/d4b3ca4d1e03429bfebcc667b8e046ac9b056b6240bc11899d6c9cabe0e4/cmtj-1.5.3-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e186533b288d0cc66e9802236f18090fde19e77dcdf5a2bdf68999cd012282ef",
                "md5": "d9b7707fe6998fa5fa49e36ac661f959",
                "sha256": "80e6f2681fe6e32411c19d8c85d4dae18168d118e8407048704287140deb0eb6"
            },
            "downloads": -1,
            "filename": "cmtj-1.5.3-cp312-cp312-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "d9b7707fe6998fa5fa49e36ac661f959",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 638310,
            "upload_time": "2024-05-15T20:25:08",
            "upload_time_iso_8601": "2024-05-15T20:25:08.655174Z",
            "url": "https://files.pythonhosted.org/packages/e1/86/533b288d0cc66e9802236f18090fde19e77dcdf5a2bdf68999cd012282ef/cmtj-1.5.3-cp312-cp312-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b0c294bf58a219c065d9508d8c2ad907dc29649ce41252a66a91fa38151b2789",
                "md5": "7326575a9ec06236ed68044925c602cf",
                "sha256": "30b72f5ccf55f797bdc8c80c8ac8b285bfa48806501c547408fbc5383ba219b1"
            },
            "downloads": -1,
            "filename": "cmtj-1.5.3-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "7326575a9ec06236ed68044925c602cf",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 266210,
            "upload_time": "2024-05-15T20:26:20",
            "upload_time_iso_8601": "2024-05-15T20:26:20.126206Z",
            "url": "https://files.pythonhosted.org/packages/b0/c2/94bf58a219c065d9508d8c2ad907dc29649ce41252a66a91fa38151b2789/cmtj-1.5.3-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "22ba3f97c95e5eba52473214bd7d54b994e7f49fbecb3a59d83d57ccd5534a82",
                "md5": "81941e20641bc0b4610195fd1563c402",
                "sha256": "db866237c771608fdd39837504b583fd0a555def1a69c1b08e128ba70703382e"
            },
            "downloads": -1,
            "filename": "cmtj-1.5.3-cp38-cp38-macosx_11_0_universal2.whl",
            "has_sig": false,
            "md5_digest": "81941e20641bc0b4610195fd1563c402",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 627435,
            "upload_time": "2024-05-15T20:25:27",
            "upload_time_iso_8601": "2024-05-15T20:25:27.599239Z",
            "url": "https://files.pythonhosted.org/packages/22/ba/3f97c95e5eba52473214bd7d54b994e7f49fbecb3a59d83d57ccd5534a82/cmtj-1.5.3-cp38-cp38-macosx_11_0_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "955b037e323e3ddc31b15bc6e935a61305110c816f9554d766713857cea1a9f6",
                "md5": "9033f425cff14fcb16da46d2c0f4151e",
                "sha256": "662ad6b788ecffddc750f29cde672bce1cd48e080de8f8e73b193569c9150e4b"
            },
            "downloads": -1,
            "filename": "cmtj-1.5.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9033f425cff14fcb16da46d2c0f4151e",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 3950332,
            "upload_time": "2024-05-15T20:27:35",
            "upload_time_iso_8601": "2024-05-15T20:27:35.659464Z",
            "url": "https://files.pythonhosted.org/packages/95/5b/037e323e3ddc31b15bc6e935a61305110c816f9554d766713857cea1a9f6/cmtj-1.5.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "954ecffe54594a6731f0e4a93ebabfb652f68fecc6231b4aa768c1b32f5dd501",
                "md5": "cbb90c761f8293d2d04967514059fe03",
                "sha256": "a35a1bd99e245896fc1179539516fe4147d8d9a7a0fa4b4378688a990d7b9c5a"
            },
            "downloads": -1,
            "filename": "cmtj-1.5.3-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "cbb90c761f8293d2d04967514059fe03",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 263522,
            "upload_time": "2024-05-15T20:25:30",
            "upload_time_iso_8601": "2024-05-15T20:25:30.390053Z",
            "url": "https://files.pythonhosted.org/packages/95/4e/cffe54594a6731f0e4a93ebabfb652f68fecc6231b4aa768c1b32f5dd501/cmtj-1.5.3-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "579690618e2a24c5e493b9533ea47404461b9ea6971a359ac6d4812b8b91666c",
                "md5": "c5e2a5c3e3e2d18d3a5c7f1b5c64a35c",
                "sha256": "505c0fe97c7eba900d9678d0ddf34d2676ba664bc9d10ad2fe2efbe2db708f10"
            },
            "downloads": -1,
            "filename": "cmtj-1.5.3-cp39-cp39-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "c5e2a5c3e3e2d18d3a5c7f1b5c64a35c",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 627524,
            "upload_time": "2024-05-15T20:25:05",
            "upload_time_iso_8601": "2024-05-15T20:25:05.594315Z",
            "url": "https://files.pythonhosted.org/packages/57/96/90618e2a24c5e493b9533ea47404461b9ea6971a359ac6d4812b8b91666c/cmtj-1.5.3-cp39-cp39-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5d764dc4a737b54697ee3d1fe65bf934f695b8bdd250fea029a3bfa47111b481",
                "md5": "a041b3c77f99e83abe2a790804b6e3fb",
                "sha256": "7b72b5e55e74fe933e6ff160886cba1dbb87bf757a364f06be9fe55480f382ed"
            },
            "downloads": -1,
            "filename": "cmtj-1.5.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a041b3c77f99e83abe2a790804b6e3fb",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 3942783,
            "upload_time": "2024-05-15T20:27:37",
            "upload_time_iso_8601": "2024-05-15T20:27:37.713042Z",
            "url": "https://files.pythonhosted.org/packages/5d/76/4dc4a737b54697ee3d1fe65bf934f695b8bdd250fea029a3bfa47111b481/cmtj-1.5.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4836d400ccaedeb345a982ca8a86025d305ce1c21f5a17ddd9422db2ec0f2c1a",
                "md5": "8f4b57bb2d56a77aa196cdd68137655c",
                "sha256": "758b8ddc82d38d64b66174bedb851c62720caee6ef5096a4319f5a2e2fcd1c32"
            },
            "downloads": -1,
            "filename": "cmtj-1.5.3-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "8f4b57bb2d56a77aa196cdd68137655c",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 255725,
            "upload_time": "2024-05-15T20:25:43",
            "upload_time_iso_8601": "2024-05-15T20:25:43.699034Z",
            "url": "https://files.pythonhosted.org/packages/48/36/d400ccaedeb345a982ca8a86025d305ce1c21f5a17ddd9422db2ec0f2c1a/cmtj-1.5.3-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-15 20:25:17",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "LemurPwned",
    "github_project": "cmtj",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "cmtj"
}
        
Elapsed time: 0.26381s