开源项目 erdantic
使用教程
1. 项目的目录结构及介绍
erdantic
项目的目录结构如下:
erdantic/
├── erdantic/
│ ├── __init__.py
│ ├── base.py
│ ├── dataclasses.py
│ ├── errors.py
│ ├── examples.py
│ ├── field.py
│ ├── graph.py
│ ├── model.py
│ ├── pydantic.py
│ ├── typing.py
│ └── version.py
├── tests/
│ ├── __init__.py
│ ├── test_dataclasses.py
│ ├── test_examples.py
│ ├── test_field.py
│ ├── test_graph.py
│ ├── test_model.py
│ ├── test_pydantic.py
│ └── test_typing.py
├── .gitignore
├── LICENSE
├── README.md
├── pyproject.toml
└── setup.cfg
目录结构介绍
erdantic/
: 项目的主要代码目录,包含了所有核心模块和功能实现。__init__.py
: 初始化文件,使得erdantic
成为一个 Python 包。base.py
: 基础类和接口定义。dataclasses.py
: 处理 Python 数据类的模块。errors.py
: 错误处理和异常定义。examples.py
: 示例代码。field.py
: 字段处理模块。graph.py
: 图形处理模块。model.py
: 模型处理模块。pydantic.py
: 处理 Pydantic 模型的模块。typing.py
: 类型注解处理模块。version.py
: 版本信息。
tests/
: 测试代码目录,包含了所有单元测试。.gitignore
: Git 忽略文件配置。LICENSE
: 项目许可证。README.md
: 项目说明文档。pyproject.toml
: 项目配置文件,用于 Poetry 包管理。setup.cfg
: 项目安装配置文件。
2. 项目的启动文件介绍
erdantic
项目的启动文件是 erdantic/__init__.py
。这个文件初始化了整个包,并导入了必要的模块和功能,使得用户可以通过 import erdantic
来使用项目的主要功能。
3. 项目的配置文件介绍
erdantic
项目的配置文件主要包括 pyproject.toml
和 setup.cfg
。
pyproject.toml
pyproject.toml
是一个标准的 Python 项目配置文件,用于 Poetry 包管理工具。它包含了项目的元数据、依赖管理、构建系统等信息。
[tool.poetry]
name = "erdantic"
version = "0.4.0"
description = "Pydantic and dataclass-based ER diagrams for Python."
authors = ["DrivenData <info@drivendata.org>"]
license = "MIT"
readme = "README.md"
repository = "https://github.com/drivendataorg/erdantic"
homepage = "https://github.com/drivendataorg/erdantic"
keywords = ["erd", "entity-relationship", "diagram", "pydantic", "dataclass"]
[tool.poetry.dependencies]
python = "^3.7"
pydantic = "^1.7"
[tool.poetry.dev-dependencies]
pytest = "^6.1"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
setup.cfg
setup.cfg
是一个传统的 Python 项目配置文件,用于 setuptools 包管理工具。它包含了项目的元数据、安装配置等信息。
[metadata]
name = erdantic
version = 0.4.0
description = Pydantic and dataclass-based ER diagrams for Python.
long_description = file: README.md
long_description_content_type = text/markdown
author = DrivenData
author_email = info@drivendata.org