跳转到主要内容

以数值形式编码化学元素,解码元素的数值表示。

项目描述

element_coder

Tests Cookiecutter template from @cthoyt PyPI PyPI - Python Version PyPI - License Documentation Status Code style: black

以数值形式编码化学元素,解码元素的数值表示。

💪 入门

from element_coder import encode, decode 

decode(encode('Si', 'mod_pettifor'), 'mod_pettifor')
>'Si'

命令行界面

element_coder.encodeelement_coder.decode 命令行工具已自动安装。可以使用 --help 标志从shell中显示帮助

$ element_coder.encode H
102
$ element_coder.decode 102
H

也适用于向量值编码

$ element_coder.decode 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 --property cgcnn
H

🚀 安装

可以从PyPI安装最新版本

$ pip install element_coder

可以直接从GitHub使用以下命令安装最新代码和数据

$ pip install git+https://github.com/kjappelbaum/element-coder.git

要开发模式下安装,请使用以下命令

$ git clone git+https://github.com/kjappelbaum/element-coder.git
$ cd element-coder
$ pip install -e .

背景

对于某些应用(如化学中的机器学习)元素必须进行数值编码。有许多库可以做到这一点。对于大多数应用,即使是pymatgen也可以完成这项工作

from pymatgen.core import Element
def encode_element(element: Element, property: str): 
    return getattr(element, property)

然而,此代码存在一些问题,因此有许多其他库试图解决这个问题,包括mendeleevelementyEIMD。然而,

  • 这些库中没有支持我感兴趣的属性。
  • 这些库中没有支持将描述符解码为元素的功能。

👐 贡献

我们欢迎您的贡献,无论是提交问题、提交拉取请求还是分支,都十分感激。有关如何参与的更多信息,请参阅CONTRIBUTING.rst

👋 著作权归属

⚖️ 许可证

本包中的代码采用MIT许可证授权。

🍪 Cookiecutter

本包使用@audreyfeldroycookiecutter包,以及@cthoytcookiecutter-snekpack模板创建。

🛠️ 对于开发者

请参阅开发者指南

README的最后一部分是如果您想通过代码贡献来参与其中。

❓ 测试

在克隆仓库并使用pip install tox安装tox后,可以通过以下命令重复运行tests/文件夹中的单元测试:

$ tox

此外,这些测试会随着每个提交自动在GitHub Action中重新运行。

📦 发布版本

在开发模式下安装包并使用pip install tox安装tox后,在tox.inifinish环境中包含创建新版本的命令。在shell中运行以下命令:

$ tox -e finish

此脚本执行以下操作:

  1. 使用BumpVersion将setup.cfgsrc/element_coder/version.py中的版本号切换,去掉-dev后缀
  2. 将代码打包成tar归档和wheel格式
  3. 使用twine上传到PyPI。请确保有一个配置好的.pypirc文件,以避免在此步骤中手动输入
  4. 推送到GitHub。您需要创建一个与版本提升的提交相关的发布
  5. 将版本提升到下一个补丁级别。如果您进行了重大更改并希望通过次要版本提升版本,您可以在之后使用tox -e bumpversion minor

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

element_coder-0.0.8.tar.gz (1.1 MB 查看哈希值)

上传时间:

构建分发

element_coder-0.0.8-py3-none-any.whl (1.1 MB 查看哈希值)

上传时间: Python 3

由以下支持