|Icon| |title|_
===============
.. |title| replace:: pyobjcryst
.. _title: https://diffpy.github.io/pyobjcryst
.. |Icon| image:: https://avatars.githubusercontent.com/diffpy
:target: https://diffpy.github.io/pyobjcryst
:height: 100px
|PyPI| |Forge| |PythonVersion| |PR|
|CI| |Codecov| |Black| |Tracking|
.. |Black| image:: https://img.shields.io/badge/code_style-black-black
:target: https://github.com/psf/black
.. |CI| image:: https://github.com/diffpy/pyobjcryst/actions/workflows/matrix-and-codecov-on-merge-to-main.yml/badge.svg
:target: https://github.com/diffpy/pyobjcryst/actions/workflows/matrix-and-codecov-on-merge-to-main.yml
.. |Codecov| image:: https://codecov.io/gh/diffpy/pyobjcryst/branch/main/graph/badge.svg
:target: https://codecov.io/gh/diffpy/pyobjcryst
.. |Forge| image:: https://img.shields.io/conda/vn/conda-forge/pyobjcryst
:target: https://anaconda.org/conda-forge/pyobjcryst
.. |PR| image:: https://img.shields.io/badge/PR-Welcome-29ab47ff
:target: https://github.com/diffpy/pyobjcryst/pulls
.. |PyPI| image:: https://img.shields.io/pypi/v/pyobjcryst
:target: https://pypi.org/project/pyobjcryst/
.. |PythonVersion| image:: https://img.shields.io/pypi/pyversions/pyobjcryst
:target: https://pypi.org/project/pyobjcryst/
.. |Tracking| image:: https://img.shields.io/badge/issue_tracking-github-blue
:target: https://github.com/diffpy/pyobjcryst/issues
Python bindings to ObjCryst++, the Object-Oriented Crystallographic Library.
For more information about the pyobjcryst library, please consult our `online documentation <https://diffpy.github.io/pyobjcryst>`_.
``pyobjcryst`` is an open-source software package originally developed as a part of the DiffPy-CMI
complex modeling initiative which originated in the DANSE project
at Columbia University. It was further developed at Brookhaven National Laboratory,
and Columbia University and the European Synchrotron Radiation Source (ESRF) and is now
maintained at Columbia and ESRF.
The pyobjcryst sources are hosted at https://github.com/diffpy/pyobjcryst.
Citation
--------
If you use diffpy.srfit in a scientific publication, we would like you to cite this package as
P. Juhás, C. L. Farrow, X. Yang, K. R. Knox and S. J. L. Billinge,
`Complex modeling: a strategy and software program for combining
multiple information sources to solve ill posed structure and
nanostructure inverse problems
<http://dx.doi.org/10.1107/S2053273315014473>`__,
*Acta Crystallogr. A* **71**, 562-568 (2015).
and
V. Favre-Nicolin and R. Cerný,
`FOX, 'free objects for crystallography': a modular approach to
ab initio structure determination from powder diffraction
<https://doi.org/10.1107/S0021889802015236>`__,
*J. Appl. Cryst.* **35**, 734-743 (2002)
The second paper describes the c++ crystallographic objects in
``ObjCryst++`` that are wrapped by ``pyobjcryst``
Installation
------------
The latest release of ``pyobjcryst`` runs in python versions 3.11, 3.12 and 3.13. You may
specify an earlier release if you need it to run in an earlier version of Python.
The preferred method is to use `Miniconda Python
<https://docs.conda.io/projects/miniconda/en/latest/miniconda-install.html>`_
or `mamba <https://mamba.readthedocs.io/en/latest/>`__
and install from the "conda-forge" channel of Conda packages.
mamba works in the same way as conda but has the advantage of being much
faster when resolving dependencies during installation. It also uses by
default the conda-forge repository, which is what almost all users would want.
To add "conda-forge" to the conda channels, run the following in a terminal. ::
conda config --add channels conda-forge
We want to install our packages in a suitable conda environment.
The following creates and activates a new environment named ``pyobjcryst_env`` ::
conda create -n pyobjcryst_env pyobjcryst
conda activate pyobjcryst_env
To confirm that the installation was successful, type ::
python -c "import pyobjcryst; print(pyobjcryst.__version__)"
The output should print the latest version displayed on the badges above.
To use mamba, replace ``conda`` with ``mamba`` in the commands above.
pyobjcryst is also included in the ``diffpy.cmi`` collection of packages for
structure analysis and so can be installed by ::
conda install -c conda-forge diffpy.cmi
Optional graphical dependencies for jupyter notebooks
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Some of the classes can produce graphical outputs, which can be
displayed in a jupyter notebook:
* a Crystal structure can be displayed in 3D: this requires the
``py3dmol`` and ``ipywidgets`` modules. See the notebook
``docs/examples/cystal_3d_widget.ipynb``
* a PowderPattern can be displayed (and live-updated) if
``matplotlib`` and ``ipympl`` are installed. See the
notebook ``docs/examples/structure-solution-powder-cimetidine.ipynb``
Getting Started
---------------
You may consult our `online documentation <https://diffpy.github.io/pyobjcryst>`_ for tutorials and API references.
Alternative methods of installation
-----------------------------------
These approaches are not recommended but reproduced here for advanced users.
You can use ``pip`` to download and install the latest release from
`Python Package Index <https://pypi.python.org>`_.
To install using ``pip`` into your ``pyobjcryst_env`` environment, type ::
pip install pyobjcryst
If you prefer to install from sources, after installing the dependencies, obtain the source archive from
`GitHub <https://github.com/diffpy/pyobjcryst/>`_. Once installed, ``cd`` into your ``pyobjcryst`` directory
and run the following ::
pip install .
An alternative way of installing pyobjcryst is to use the SCons tool,
which can speed up the process by compiling C++ files in several
parallel jobs (-j4)::
conda install scons
conda install --file requirements/conda.txt
scons -j4 dev
See ``scons -h`` for description of build targets and options.
Alternatively, on Ubuntu Linux the required software can be installed using ::
sudo apt-get install \
python-setuptools python-numpy scons \
build-essential python-dev libboost-all-dev
If this doesn't work, please see the `requirements/conda.txt` file for the
latest list of requirements.
The ``libobjcryst`` library can also be installed as per the instructions at
https://github.com/diffpy/libobjcryst. Make sure other required software are
also in place and then run from the pyobjcryst directory ::
pip install .
You may need to use sudo with system Python so the process is allowed to copy files to system
directories, unless you are installing into a conda environment. If administrator (root) access is not
available, see the usage information from python setup.py install --help for options to install
to a user-writable location.
Testing your installation
-------------------------
The installation integrity can be verified by executing the included tests with
First install test dependencies then type pytest::
conda install --file requirements/tests.txt
pytest
Support and Contribute
----------------------
If you see a bug or want to request a feature, please `report it as an issue <https://github.com/diffpy/pyobjcryst/issues>`_ and/or `submit a fix as a PR <https://github.com/diffpy/pyobjcryst/pulls>`_.
Feel free to fork the project and contribute. To install pyobjcryst
in a development mode, with its sources being directly used by Python
rather than copied to a package directory, use the following in the root
directory ::
pip install -e .
To ensure code quality and to prevent accidental commits into the default branch, please set up the use of our pre-commit
hooks.
1. Install pre-commit in your working environment by running ``conda install pre-commit``.
2. Initialize pre-commit (one time only) ``pre-commit install``.
Thereafter your code will be linted by black and isort and checked against flake8 before you can commit.
If it fails by black or isort, just rerun and it should pass (black and isort will modify the files so should
pass after they are modified). If the flake8 test fails please see the error messages and fix them manually before
trying to commit again.
When developing it is preferable to compile the C++ files with
SCons using the ``build=debug`` option, which compiles the extension
module with debug information and C-assertions checks ::
scons -j4 build=debug dev
Improvements and fixes are always appreciated.
Before contributing, please read our `Code of Conduct <https://github.com/diffpy/pyobjcryst/blob/main/CODE-OF-CONDUCT.rst>`_.
Contact
-------
For more information on pyobjcryst please visit the project `web-page <https://diffpy.github.io/>`_ or email Simon Billinge at sb2896@columbia.edu.
You can also contact Vincent Favre-Nicolin (favre@esrf.fr) if you are using pyobjcryst outside diffpy, e.g. to display structures in a notebook, refine powder patterns or solve structures using the global optimisation algorithms, etc..
Acknowledgements
----------------
This package bundles the following IUCr data files for bona fide research use:
- **cpd-1a.prn:** Powder diffraction dataset from the `IUCr CPD Round Robin on Quantitative Phase Analysis <https://www.iucr.org/__data/iucr/powder/QARR/index.html>`_.
Source: https://www.iucr.org/__data/iucr/powder/QARR/col/cpd-1a.prn
Round Robin on Quantitative Phase Analysis: Madsen, I. (1997) ‘Round Robin on Quantitative Phase Analysis’, Powder Diffraction, 12(1), pp. 1–2. Available at: https://doi.org/10.1017/S0885715600020212.
``pyobjcryst`` is built and maintained with `scikit-package <https://scikit-package.github.io/scikit-package/>`_.
Raw data
{
"_id": null,
"home_page": null,
"name": "pyobjcryst",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.14,>=3.11",
"maintainer_email": "\"Simon J.L. Billinge group\" <sb2896@columbia.edu>, Vincent-Favre-Nicolin <favre@esrf.fr>",
"keywords": "objcryst, atom structure crystallography, powder diffraction",
"author": "Christopher Farrow, Pavol Juh\u00e1s",
"author_email": "Vincent-Favre-Nicolin <favre@esrf.fr>",
"download_url": "https://files.pythonhosted.org/packages/56/32/1118c2650e3cc129153b25705e9792d7ffa2409283b52b2089e3fd05618f/pyobjcryst-2025.1.0.tar.gz",
"platform": null,
"description": "|Icon| |title|_\n===============\n\n.. |title| replace:: pyobjcryst\n.. _title: https://diffpy.github.io/pyobjcryst\n\n.. |Icon| image:: https://avatars.githubusercontent.com/diffpy\n :target: https://diffpy.github.io/pyobjcryst\n :height: 100px\n\n|PyPI| |Forge| |PythonVersion| |PR|\n\n|CI| |Codecov| |Black| |Tracking|\n\n.. |Black| image:: https://img.shields.io/badge/code_style-black-black\n :target: https://github.com/psf/black\n\n.. |CI| image:: https://github.com/diffpy/pyobjcryst/actions/workflows/matrix-and-codecov-on-merge-to-main.yml/badge.svg\n :target: https://github.com/diffpy/pyobjcryst/actions/workflows/matrix-and-codecov-on-merge-to-main.yml\n\n.. |Codecov| image:: https://codecov.io/gh/diffpy/pyobjcryst/branch/main/graph/badge.svg\n :target: https://codecov.io/gh/diffpy/pyobjcryst\n\n.. |Forge| image:: https://img.shields.io/conda/vn/conda-forge/pyobjcryst\n :target: https://anaconda.org/conda-forge/pyobjcryst\n\n.. |PR| image:: https://img.shields.io/badge/PR-Welcome-29ab47ff\n :target: https://github.com/diffpy/pyobjcryst/pulls\n\n.. |PyPI| image:: https://img.shields.io/pypi/v/pyobjcryst\n :target: https://pypi.org/project/pyobjcryst/\n\n.. |PythonVersion| image:: https://img.shields.io/pypi/pyversions/pyobjcryst\n :target: https://pypi.org/project/pyobjcryst/\n\n.. |Tracking| image:: https://img.shields.io/badge/issue_tracking-github-blue\n :target: https://github.com/diffpy/pyobjcryst/issues\n\nPython bindings to ObjCryst++, the Object-Oriented Crystallographic Library.\n\nFor more information about the pyobjcryst library, please consult our `online documentation <https://diffpy.github.io/pyobjcryst>`_.\n\n``pyobjcryst`` is an open-source software package originally developed as a part of the DiffPy-CMI\ncomplex modeling initiative which originated in the DANSE project\nat Columbia University. It was further developed at Brookhaven National Laboratory,\nand Columbia University and the European Synchrotron Radiation Source (ESRF) and is now\nmaintained at Columbia and ESRF.\nThe pyobjcryst sources are hosted at https://github.com/diffpy/pyobjcryst.\n\nCitation\n--------\n\nIf you use diffpy.srfit in a scientific publication, we would like you to cite this package as\n\n\n P. Juh\u00e1s, C. L. Farrow, X. Yang, K. R. Knox and S. J. L. Billinge,\n `Complex modeling: a strategy and software program for combining\n multiple information sources to solve ill posed structure and\n nanostructure inverse problems\n <http://dx.doi.org/10.1107/S2053273315014473>`__,\n *Acta Crystallogr. A* **71**, 562-568 (2015).\n\nand\n\n V. Favre-Nicolin and R. Cern\u00fd,\n `FOX, 'free objects for crystallography': a modular approach to\n ab initio structure determination from powder diffraction\n <https://doi.org/10.1107/S0021889802015236>`__,\n *J. Appl. Cryst.* **35**, 734-743 (2002)\n\nThe second paper describes the c++ crystallographic objects in\n``ObjCryst++`` that are wrapped by ``pyobjcryst``\n\nInstallation\n------------\n\nThe latest release of ``pyobjcryst`` runs in python versions 3.11, 3.12 and 3.13. You may\nspecify an earlier release if you need it to run in an earlier version of Python.\n\nThe preferred method is to use `Miniconda Python\n<https://docs.conda.io/projects/miniconda/en/latest/miniconda-install.html>`_\nor `mamba <https://mamba.readthedocs.io/en/latest/>`__\nand install from the \"conda-forge\" channel of Conda packages.\nmamba works in the same way as conda but has the advantage of being much\nfaster when resolving dependencies during installation. It also uses by\ndefault the conda-forge repository, which is what almost all users would want.\n\nTo add \"conda-forge\" to the conda channels, run the following in a terminal. ::\n\n conda config --add channels conda-forge\n\nWe want to install our packages in a suitable conda environment.\nThe following creates and activates a new environment named ``pyobjcryst_env`` ::\n\n conda create -n pyobjcryst_env pyobjcryst\n conda activate pyobjcryst_env\n\nTo confirm that the installation was successful, type ::\n\n python -c \"import pyobjcryst; print(pyobjcryst.__version__)\"\n\nThe output should print the latest version displayed on the badges above.\n\nTo use mamba, replace ``conda`` with ``mamba`` in the commands above.\n\npyobjcryst is also included in the ``diffpy.cmi`` collection of packages for\nstructure analysis and so can be installed by ::\n\n conda install -c conda-forge diffpy.cmi\n\nOptional graphical dependencies for jupyter notebooks\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nSome of the classes can produce graphical outputs, which can be\ndisplayed in a jupyter notebook:\n\n* a Crystal structure can be displayed in 3D: this requires the\n ``py3dmol`` and ``ipywidgets`` modules. See the notebook\n ``docs/examples/cystal_3d_widget.ipynb``\n* a PowderPattern can be displayed (and live-updated) if\n ``matplotlib`` and ``ipympl`` are installed. See the\n notebook ``docs/examples/structure-solution-powder-cimetidine.ipynb``\n\nGetting Started\n---------------\n\nYou may consult our `online documentation <https://diffpy.github.io/pyobjcryst>`_ for tutorials and API references.\n\nAlternative methods of installation\n-----------------------------------\n\nThese approaches are not recommended but reproduced here for advanced users.\nYou can use ``pip`` to download and install the latest release from\n`Python Package Index <https://pypi.python.org>`_.\nTo install using ``pip`` into your ``pyobjcryst_env`` environment, type ::\n\n pip install pyobjcryst\n\nIf you prefer to install from sources, after installing the dependencies, obtain the source archive from\n`GitHub <https://github.com/diffpy/pyobjcryst/>`_. Once installed, ``cd`` into your ``pyobjcryst`` directory\nand run the following ::\n\n pip install .\n\nAn alternative way of installing pyobjcryst is to use the SCons tool,\nwhich can speed up the process by compiling C++ files in several\nparallel jobs (-j4)::\n\n conda install scons\n conda install --file requirements/conda.txt\n scons -j4 dev\n\nSee ``scons -h`` for description of build targets and options.\n\nAlternatively, on Ubuntu Linux the required software can be installed using ::\n\n sudo apt-get install \\\n python-setuptools python-numpy scons \\\n build-essential python-dev libboost-all-dev\n\nIf this doesn't work, please see the `requirements/conda.txt` file for the\nlatest list of requirements.\n\nThe ``libobjcryst`` library can also be installed as per the instructions at\nhttps://github.com/diffpy/libobjcryst. Make sure other required software are\nalso in place and then run from the pyobjcryst directory ::\n\n pip install .\n\nYou may need to use sudo with system Python so the process is allowed to copy files to system\ndirectories, unless you are installing into a conda environment. If administrator (root) access is not\navailable, see the usage information from python setup.py install --help for options to install\nto a user-writable location.\n\nTesting your installation\n-------------------------\n\nThe installation integrity can be verified by executing the included tests with\n\nFirst install test dependencies then type pytest::\n\n conda install --file requirements/tests.txt\n pytest\n\n\nSupport and Contribute\n----------------------\n\nIf you see a bug or want to request a feature, please `report it as an issue <https://github.com/diffpy/pyobjcryst/issues>`_ and/or `submit a fix as a PR <https://github.com/diffpy/pyobjcryst/pulls>`_.\n\nFeel free to fork the project and contribute. To install pyobjcryst\nin a development mode, with its sources being directly used by Python\nrather than copied to a package directory, use the following in the root\ndirectory ::\n\n pip install -e .\n\nTo ensure code quality and to prevent accidental commits into the default branch, please set up the use of our pre-commit\nhooks.\n\n1. Install pre-commit in your working environment by running ``conda install pre-commit``.\n\n2. Initialize pre-commit (one time only) ``pre-commit install``.\n\nThereafter your code will be linted by black and isort and checked against flake8 before you can commit.\nIf it fails by black or isort, just rerun and it should pass (black and isort will modify the files so should\npass after they are modified). If the flake8 test fails please see the error messages and fix them manually before\ntrying to commit again.\n\nWhen developing it is preferable to compile the C++ files with\nSCons using the ``build=debug`` option, which compiles the extension\nmodule with debug information and C-assertions checks ::\n\n scons -j4 build=debug dev\n\nImprovements and fixes are always appreciated.\n\nBefore contributing, please read our `Code of Conduct <https://github.com/diffpy/pyobjcryst/blob/main/CODE-OF-CONDUCT.rst>`_.\n\nContact\n-------\n\nFor more information on pyobjcryst please visit the project `web-page <https://diffpy.github.io/>`_ or email Simon Billinge at sb2896@columbia.edu.\n\nYou can also contact Vincent Favre-Nicolin (favre@esrf.fr) if you are using pyobjcryst outside diffpy, e.g. to display structures in a notebook, refine powder patterns or solve structures using the global optimisation algorithms, etc..\n\nAcknowledgements\n----------------\n\nThis package bundles the following IUCr data files for bona fide research use:\n\n- **cpd-1a.prn:** Powder diffraction dataset from the `IUCr CPD Round Robin on Quantitative Phase Analysis <https://www.iucr.org/__data/iucr/powder/QARR/index.html>`_.\n\n Source: https://www.iucr.org/__data/iucr/powder/QARR/col/cpd-1a.prn\n\n Round Robin on Quantitative Phase Analysis: Madsen, I. (1997) \u2018Round Robin on Quantitative Phase Analysis\u2019, Powder Diffraction, 12(1), pp. 1\u20132. Available at: https://doi.org/10.1017/S0885715600020212.\n\n\n``pyobjcryst`` is built and maintained with `scikit-package <https://scikit-package.github.io/scikit-package/>`_.\n",
"bugtrack_url": null,
"license": null,
"summary": "Python bindings to the ObjCryst++ library.",
"version": "2025.1.0",
"project_urls": {
"Homepage": "https://github.com/diffpy/pyobjcryst/",
"Issues": "https://github.com/diffpy/pyobjcryst/issues/"
},
"split_keywords": [
"objcryst",
" atom structure crystallography",
" powder diffraction"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "061b9cd493a835751e6080f86b957054cd71033833bde98edc2faed7ff4bbc8c",
"md5": "d773222f1237a80d7cd2d8394fb8e1da",
"sha256": "8e9e89e53cf7825d34ec794942e585da91637cd77dc6dbda959ca8af37ff38bf"
},
"downloads": -1,
"filename": "pyobjcryst-2025.1.0-cp311-cp311-macosx_10_13_x86_64.whl",
"has_sig": false,
"md5_digest": "d773222f1237a80d7cd2d8394fb8e1da",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": "<3.14,>=3.11",
"size": 1197332,
"upload_time": "2025-08-08T09:28:47",
"upload_time_iso_8601": "2025-08-08T09:28:47.105697Z",
"url": "https://files.pythonhosted.org/packages/06/1b/9cd493a835751e6080f86b957054cd71033833bde98edc2faed7ff4bbc8c/pyobjcryst-2025.1.0-cp311-cp311-macosx_10_13_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "5a90b34907944755b8ae98d8ddd4622a20be0cad97199eb047a9711aaa4f01fd",
"md5": "5fa936dd2d1f26d36479068e99c0e61c",
"sha256": "b15cda161ab9c26225f5b4eb125a775dbda4f3123cba2abe6a2df69d7fdc3c71"
},
"downloads": -1,
"filename": "pyobjcryst-2025.1.0-cp311-cp311-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "5fa936dd2d1f26d36479068e99c0e61c",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": "<3.14,>=3.11",
"size": 1140780,
"upload_time": "2025-08-08T09:28:49",
"upload_time_iso_8601": "2025-08-08T09:28:49.170433Z",
"url": "https://files.pythonhosted.org/packages/5a/90/b34907944755b8ae98d8ddd4622a20be0cad97199eb047a9711aaa4f01fd/pyobjcryst-2025.1.0-cp311-cp311-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "67665d94ac43163dc022d105757a84b1d237c1b2a6d324397310fbc3c058ed54",
"md5": "2492b0219dbe03b315f2ae5002c64fcb",
"sha256": "d134e6fd180cb8107a9ebf7a42faa00d42485a42e8758d6967a8e86f5027deb2"
},
"downloads": -1,
"filename": "pyobjcryst-2025.1.0-cp311-cp311-manylinux_2_39_x86_64.whl",
"has_sig": false,
"md5_digest": "2492b0219dbe03b315f2ae5002c64fcb",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": "<3.14,>=3.11",
"size": 1596760,
"upload_time": "2025-08-08T09:28:50",
"upload_time_iso_8601": "2025-08-08T09:28:50.714436Z",
"url": "https://files.pythonhosted.org/packages/67/66/5d94ac43163dc022d105757a84b1d237c1b2a6d324397310fbc3c058ed54/pyobjcryst-2025.1.0-cp311-cp311-manylinux_2_39_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "06adc1511bfb0387038adcacdb21e2654d3ce2241d64ebbf8703604f9215933b",
"md5": "f4c4ad5cdebee3c1cd383275d7953317",
"sha256": "2bb1e74d38d1731913e4ca5044a2ebb9485cf5e24a056bce1e65bce98687e160"
},
"downloads": -1,
"filename": "pyobjcryst-2025.1.0-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "f4c4ad5cdebee3c1cd383275d7953317",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": "<3.14,>=3.11",
"size": 1951561,
"upload_time": "2025-08-08T09:28:52",
"upload_time_iso_8601": "2025-08-08T09:28:52.294618Z",
"url": "https://files.pythonhosted.org/packages/06/ad/c1511bfb0387038adcacdb21e2654d3ce2241d64ebbf8703604f9215933b/pyobjcryst-2025.1.0-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "58c8f4abd4dff5fa97ab21e18635466d4956b3155e4a0f5464dd2a8e059d81d9",
"md5": "e1f704b61bf9fc4bb2315563071e6e4e",
"sha256": "136e7c55256d6063f0e5c4fea8668663fbcb0fff27c403151840b8b086d31218"
},
"downloads": -1,
"filename": "pyobjcryst-2025.1.0-cp312-cp312-macosx_10_13_x86_64.whl",
"has_sig": false,
"md5_digest": "e1f704b61bf9fc4bb2315563071e6e4e",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "<3.14,>=3.11",
"size": 1208949,
"upload_time": "2025-08-08T09:28:53",
"upload_time_iso_8601": "2025-08-08T09:28:53.659425Z",
"url": "https://files.pythonhosted.org/packages/58/c8/f4abd4dff5fa97ab21e18635466d4956b3155e4a0f5464dd2a8e059d81d9/pyobjcryst-2025.1.0-cp312-cp312-macosx_10_13_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "10d1058f07aef7e7706e1415e93da5887fea39a2d822c321a26e175c70e12287",
"md5": "994db3ae8be95a70e5a011f122f89992",
"sha256": "285c5377f34b62f4ab451dd05db365068360cf24a07d7aa75bcbd0319aa1be71"
},
"downloads": -1,
"filename": "pyobjcryst-2025.1.0-cp312-cp312-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "994db3ae8be95a70e5a011f122f89992",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "<3.14,>=3.11",
"size": 1146364,
"upload_time": "2025-08-08T09:28:54",
"upload_time_iso_8601": "2025-08-08T09:28:54.737016Z",
"url": "https://files.pythonhosted.org/packages/10/d1/058f07aef7e7706e1415e93da5887fea39a2d822c321a26e175c70e12287/pyobjcryst-2025.1.0-cp312-cp312-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c897c4749284368941f99389566daad039583c05de7eb67855b10a17c79571a6",
"md5": "c5045d59c628ab802acde055eb6f2ee2",
"sha256": "d261f2f97c205b018f941d1677105e74fb206698f81acbaff1799dc7fc4ee830"
},
"downloads": -1,
"filename": "pyobjcryst-2025.1.0-cp312-cp312-manylinux_2_39_x86_64.whl",
"has_sig": false,
"md5_digest": "c5045d59c628ab802acde055eb6f2ee2",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "<3.14,>=3.11",
"size": 1606080,
"upload_time": "2025-08-08T09:28:56",
"upload_time_iso_8601": "2025-08-08T09:28:56.207252Z",
"url": "https://files.pythonhosted.org/packages/c8/97/c4749284368941f99389566daad039583c05de7eb67855b10a17c79571a6/pyobjcryst-2025.1.0-cp312-cp312-manylinux_2_39_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "0127b86d3fedc29c01ebd9a681cb64a5672042f27f1a70f0454281057f099442",
"md5": "675b20539c9688a1fb72f14b517e2a2a",
"sha256": "f70a231b91b3157d16dc4ea95b5f3173bbf7cb8031675055b23abaa09ef442ea"
},
"downloads": -1,
"filename": "pyobjcryst-2025.1.0-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "675b20539c9688a1fb72f14b517e2a2a",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "<3.14,>=3.11",
"size": 1953591,
"upload_time": "2025-08-08T09:28:57",
"upload_time_iso_8601": "2025-08-08T09:28:57.691002Z",
"url": "https://files.pythonhosted.org/packages/01/27/b86d3fedc29c01ebd9a681cb64a5672042f27f1a70f0454281057f099442/pyobjcryst-2025.1.0-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6d1dda0848e5c51a396ad7f9a93b06aecb27de1923fa8679ef9c05289ebd11d2",
"md5": "3b1aa5605c9eaae24aa63e40685f3766",
"sha256": "4a6f25a5d311c480ce6dff469e4f5cff8f2e7d64c0edc2e24a35a739dfb569eb"
},
"downloads": -1,
"filename": "pyobjcryst-2025.1.0-cp313-cp313-macosx_10_13_x86_64.whl",
"has_sig": false,
"md5_digest": "3b1aa5605c9eaae24aa63e40685f3766",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "<3.14,>=3.11",
"size": 1208950,
"upload_time": "2025-08-08T09:28:58",
"upload_time_iso_8601": "2025-08-08T09:28:58.966767Z",
"url": "https://files.pythonhosted.org/packages/6d/1d/da0848e5c51a396ad7f9a93b06aecb27de1923fa8679ef9c05289ebd11d2/pyobjcryst-2025.1.0-cp313-cp313-macosx_10_13_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d13e03b703b4ad693e1d732922be139c63aff06aa5bd451b04df9eeb75df6b9e",
"md5": "e419928cf3889470daf1a7abc7e5c5e1",
"sha256": "8455aebbb28724a0282a487f608a37a1dd8a5577b027b83781d4ab6ef8cfaa54"
},
"downloads": -1,
"filename": "pyobjcryst-2025.1.0-cp313-cp313-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "e419928cf3889470daf1a7abc7e5c5e1",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "<3.14,>=3.11",
"size": 1146365,
"upload_time": "2025-08-08T09:29:00",
"upload_time_iso_8601": "2025-08-08T09:29:00.109526Z",
"url": "https://files.pythonhosted.org/packages/d1/3e/03b703b4ad693e1d732922be139c63aff06aa5bd451b04df9eeb75df6b9e/pyobjcryst-2025.1.0-cp313-cp313-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b81aa69221e711e55552f1a01cfc62b4b4f0c454c368e7af38e6586decbee6c2",
"md5": "f8771ebce78b623e3bd49295fec7214b",
"sha256": "8d130bb14a75e81a36fcce41c182594e4ebb981c51dcc6608be3533d937f92e8"
},
"downloads": -1,
"filename": "pyobjcryst-2025.1.0-cp313-cp313-manylinux_2_39_x86_64.whl",
"has_sig": false,
"md5_digest": "f8771ebce78b623e3bd49295fec7214b",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "<3.14,>=3.11",
"size": 1606087,
"upload_time": "2025-08-08T09:29:01",
"upload_time_iso_8601": "2025-08-08T09:29:01.202141Z",
"url": "https://files.pythonhosted.org/packages/b8/1a/a69221e711e55552f1a01cfc62b4b4f0c454c368e7af38e6586decbee6c2/pyobjcryst-2025.1.0-cp313-cp313-manylinux_2_39_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3a9b74294c9b87528519288dedfbc5a493f1164aae9fa03e2388b1a8e143dc4e",
"md5": "788b4b90a9dfd8107c6098e6c4aea66c",
"sha256": "f283dee87bf21573e7c4ee6733d482f2a9c19730242870b802f53973e48c1fe6"
},
"downloads": -1,
"filename": "pyobjcryst-2025.1.0-cp313-cp313-win_amd64.whl",
"has_sig": false,
"md5_digest": "788b4b90a9dfd8107c6098e6c4aea66c",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "<3.14,>=3.11",
"size": 1953489,
"upload_time": "2025-08-08T09:29:02",
"upload_time_iso_8601": "2025-08-08T09:29:02.701975Z",
"url": "https://files.pythonhosted.org/packages/3a/9b/74294c9b87528519288dedfbc5a493f1164aae9fa03e2388b1a8e143dc4e/pyobjcryst-2025.1.0-cp313-cp313-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "56321118c2650e3cc129153b25705e9792d7ffa2409283b52b2089e3fd05618f",
"md5": "01a674537e4e1d1fc6a25e702bb12568",
"sha256": "782c776de91d815cf74aff865fe002db99eff83a786c684dc9324460cd5fed5f"
},
"downloads": -1,
"filename": "pyobjcryst-2025.1.0.tar.gz",
"has_sig": false,
"md5_digest": "01a674537e4e1d1fc6a25e702bb12568",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.14,>=3.11",
"size": 158860,
"upload_time": "2025-08-08T09:29:04",
"upload_time_iso_8601": "2025-08-08T09:29:04.126540Z",
"url": "https://files.pythonhosted.org/packages/56/32/1118c2650e3cc129153b25705e9792d7ffa2409283b52b2089e3fd05618f/pyobjcryst-2025.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-08 09:29:04",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "diffpy",
"github_project": "pyobjcryst",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "pyobjcryst"
}