{ "info": { "author": "Jason Eu", "author_email": "morty.yu@yahoo.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Natural Language :: Chinese (Simplified)", "Natural Language :: English", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Scientific/Engineering :: Chemistry", "Topic :: Scientific/Engineering :: Physics" ], "description": "pniggli\n========================================\n\nThis is a (P)ure python implementation of algorithm to determin Niggli cell.\nThe library supports both 2D and 3D niggli transformations.\n\nRows of list or rows of `numpy.ndarray` correspond basis vectors, a, b, c or a, b\nThey are input to niggli_reduce as a row with three colum matrices,\nsame as most DFT softwares' lattice inputs.\n\nIn the implementation details, since the lattice is represented by a row vector,\nthe transformation operation on the lattice is left-multiplied, such as:\n\n.. code-block:: python\n\n import numpy as np\n\n # TMatrix is the transform matrix\n new_Lattice = np.matmul(TMatrix, old_Lattice)\n\nFor details of the algorithm, see [[Niggli for 2d and 3d]](http://)\n\nInstall\n----------\n\n.. code-block:: shell\n\n $ pip install pniggli\n\nUsage\n----------\n\n.. code-block:: python\n\n from pniggli import niggli_reduce, niggli_check\n\n lattice_3D = [4.912, 0.000, 0.000,\n -2.456, 4.254, 0.000,\n 0.000, 0.000, 0.000]\n niggli_lattice = niggli_reduce(lattice_3D)\n print(niggli_lattice)\n # Out:\n # array([[ 4.912, 0. , 0. ],\n # [-2.456, 4.254, 0. ],\n # [ 0. , 0. , 16. ]])\n print(niggli_check(niggli_lattice)) # True\n\n lattice_2D = [2.4560000896, 0.0000000000,\n 11.0520002567, 2.1269502021]\n niggli_lattice = niggli_reduce(lattice_2D)\n print(niggli_lattice)\n # Out[6]:\n # array([[-1.2279999 , -2.1269502 ],\n # [-1.22800019, 2.1269502 ]])\n\n\nThe 2D example is a triangle motif.\n\nVersion\n----------\n\nv0.1.2\n########\n+ 2D and 3D niggli reduce support\n+ niggli_check for 3D lattice\n\nv0.1.0\n#######\n+ 3D niggli reduce support\n+ niggli_check for 3D lattice\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "niggli material strucutre cell", "license": "MIT, with atztogo/niggli LICENSE", "maintainer": "", "maintainer_email": "", "name": "pniggli", "package_url": "https://pypi.org/project/pniggli/", "platform": "", "project_url": "https://pypi.org/project/pniggli/", "project_urls": null, "release_url": "https://pypi.org/project/pniggli/0.1.3/", "requires_dist": [ "numpy", "spglib", "pip ; extra == 'dev'", "pytest ; extra == 'dev'", "pytest-cov ; extra == 'dev'", "twine ; extra == 'dev'", "ipython ; extra == 'dev'" ], "requires_python": "", "summary": "Structures of Alloys Generation And Recognition", "version": "0.1.3" }, "last_serial": 5187277, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "f6ee7e335d7a2b4a8db319f8f6b5a5cf", "sha256": "6c3a2b12752c0008808f5c4fdc058d955ebc504cdd85960eda3d7d38d59a8492" }, "downloads": -1, "filename": "pniggli-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f6ee7e335d7a2b4a8db319f8f6b5a5cf", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6006, "upload_time": "2019-04-25T06:25:42", "url": "https://files.pythonhosted.org/packages/20/e3/35ab559e8d7c072fd73c6ea0f4a82b95e8e8ade41d0b8af7350b799d0c61/pniggli-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3566bdc40f04bf3dfea3219de755749e", "sha256": "62bf40d6058053bcd677395cc4a2297395d46bafe60083da99d26930333b6dd5" }, "downloads": -1, "filename": "pniggli-0.1.0.tar.gz", "has_sig": false, "md5_digest": "3566bdc40f04bf3dfea3219de755749e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4549, "upload_time": "2019-04-25T06:25:45", "url": "https://files.pythonhosted.org/packages/92/0a/28155d0cf7d93c1e7e11d9feb61688e2192fb33b00b0d26c63351761f426/pniggli-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "732f49dbb94063a87f6855d36115107d", "sha256": "1bb0eaa52597a4c255dd51e78db407af3bc408fd87cdc6aef2dfcae026f83406" }, "downloads": -1, "filename": "pniggli-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "732f49dbb94063a87f6855d36115107d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7259, "upload_time": "2019-04-25T09:30:28", "url": "https://files.pythonhosted.org/packages/ce/71/0cf478f32468d26ae8443c16ca4787f7c227cda9a8c7453016d0f39ca0ef/pniggli-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "902067c9026cf80007df18f769a3a021", "sha256": "a1927ff8c3524ccd526d77bd98e3cc9db2d724b11dc15867bac5bfefe1ab9b73" }, "downloads": -1, "filename": "pniggli-0.1.1.tar.gz", "has_sig": false, "md5_digest": "902067c9026cf80007df18f769a3a021", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4900, "upload_time": "2019-04-25T09:30:29", "url": "https://files.pythonhosted.org/packages/23/a2/9c9ce0321313d9244133db7872ca12e45513ed012ac988b952d88213a279/pniggli-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "7aac3059ba7042533f8e91c48a2f3a4a", "sha256": "0de3c8724a8dd2ccd640a5be0976a87f2399ef67b7cb0b46c8ea27c2a49937f0" }, "downloads": -1, "filename": "pniggli-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7aac3059ba7042533f8e91c48a2f3a4a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8185, "upload_time": "2019-04-25T10:30:24", "url": "https://files.pythonhosted.org/packages/6e/4a/e4c588d9122e95b909b26a6e3105e8a5f1fbb4a846729026bfa50d08dc22/pniggli-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "320fe6a3b38fc90242b026174b77806c", "sha256": "54be6d47adaabb64a6c6bfc673e0f1ac5c2b34d9b68699d0bf0df8bc1fb7c079" }, "downloads": -1, "filename": "pniggli-0.1.2.tar.gz", "has_sig": false, "md5_digest": "320fe6a3b38fc90242b026174b77806c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5855, "upload_time": "2019-04-25T10:30:26", "url": "https://files.pythonhosted.org/packages/8b/a0/f1386afff7a9a4eaabf2e93e8df90ad4838f7f1a7a549c3e8647e53c578f/pniggli-0.1.2.tar.gz" } ], "0.1.2a0": [ { "comment_text": "", "digests": { "md5": "b8ebe917f92e872cf5f758978f5f132f", "sha256": "2b261208106e2e3a3db350f2580c19c4af22f859c4c49abd12c49644e6e7cd34" }, "downloads": -1, "filename": "pniggli-0.1.2a0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b8ebe917f92e872cf5f758978f5f132f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8238, "upload_time": "2019-04-25T10:56:17", "url": "https://files.pythonhosted.org/packages/12/b7/641ee57a50f3f641267777173e9ec3bcaa9bf67be6598d24356bb44e723d/pniggli-0.1.2a0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dcabccd5967145085a8376d26fef2ac1", "sha256": "93ec753268b83e78e1ce3afff76ef8c4adb6dc1aedb35d879d84002bc1364ef0" }, "downloads": -1, "filename": "pniggli-0.1.2a0.tar.gz", "has_sig": false, "md5_digest": "dcabccd5967145085a8376d26fef2ac1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5883, "upload_time": "2019-04-25T10:56:18", "url": "https://files.pythonhosted.org/packages/84/e9/2eef491ac5b12bc62d1739c4cb714955289ea42ec2564f3cd1b5eb08a2c9/pniggli-0.1.2a0.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "667290e0964e8889270ed21bf467e259", "sha256": "6ccbd1c3fad9d638a6ab3f7be1560eb70016f881a02ac184725f654803588f31" }, "downloads": -1, "filename": "pniggli-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "667290e0964e8889270ed21bf467e259", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8204, "upload_time": "2019-04-25T10:57:57", "url": "https://files.pythonhosted.org/packages/50/88/d471fcf9ab23e80087c25c02ed23c0f915f6ccd073996e4e6ce098ee77d5/pniggli-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6a5bc419f3dd3bedc0bd75efc5dd870b", "sha256": "2916cfbe96b6b2c3f580aa81f4d57fa8b4a8cc8085f29d72f1351a6af3482346" }, "downloads": -1, "filename": "pniggli-0.1.3.tar.gz", "has_sig": false, "md5_digest": "6a5bc419f3dd3bedc0bd75efc5dd870b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5878, "upload_time": "2019-04-25T10:57:58", "url": "https://files.pythonhosted.org/packages/af/dd/ac558aa8cf5c48861d0b765eb2c6b44e93ecf6359ec95c7fdc102c54a3cc/pniggli-0.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "667290e0964e8889270ed21bf467e259", "sha256": "6ccbd1c3fad9d638a6ab3f7be1560eb70016f881a02ac184725f654803588f31" }, "downloads": -1, "filename": "pniggli-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "667290e0964e8889270ed21bf467e259", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8204, "upload_time": "2019-04-25T10:57:57", "url": "https://files.pythonhosted.org/packages/50/88/d471fcf9ab23e80087c25c02ed23c0f915f6ccd073996e4e6ce098ee77d5/pniggli-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6a5bc419f3dd3bedc0bd75efc5dd870b", "sha256": "2916cfbe96b6b2c3f580aa81f4d57fa8b4a8cc8085f29d72f1351a6af3482346" }, "downloads": -1, "filename": "pniggli-0.1.3.tar.gz", "has_sig": false, "md5_digest": "6a5bc419f3dd3bedc0bd75efc5dd870b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5878, "upload_time": "2019-04-25T10:57:58", "url": "https://files.pythonhosted.org/packages/af/dd/ac558aa8cf5c48861d0b765eb2c6b44e93ecf6359ec95c7fdc102c54a3cc/pniggli-0.1.3.tar.gz" } ] }