数据包处理项目教程
1. 项目的目录结构及介绍
datapackage-py/
├── datapackage/
│ ├── __init__.py
│ ├── base.py
│ ├── exceptions.py
│ ├── helpers.py
│ ├── models.py
│ ├── package.py
│ ├── resource.py
│ ├── schemas/
│ │ ├── data-package.json
│ │ ├── ...
│ ├── storage/
│ │ ├── __init__.py
│ │ ├── base.py
│ │ ├── ...
│ ├── ...
├── tests/
│ ├── __init__.py
│ ├── test_base.py
│ ├── test_package.py
│ ├── ...
├── .gitignore
├── .travis.yml
├── LICENSE
├── README.md
├── requirements.txt
├── setup.py
datapackage/
: 核心代码目录,包含数据包处理的主要逻辑。__init__.py
: 模块初始化文件。base.py
: 基础类定义。exceptions.py
: 自定义异常类。helpers.py
: 辅助函数。models.py
: 数据模型定义。package.py
: 数据包处理类。resource.py
: 资源处理类。schemas/
: 数据包模式定义。storage/
: 存储相关类。
tests/
: 测试代码目录,包含各种测试用例。.gitignore
: Git忽略文件配置。.travis.yml
: Travis CI配置文件。LICENSE
: 项目许可证。README.md
: 项目说明文档。requirements.txt
: 项目依赖文件。setup.py
: 项目安装脚本。
2. 项目的启动文件介绍
项目的启动文件主要是 setup.py
,它负责项目的安装和分发。通过运行以下命令可以安装项目:
pip install .
setup.py
文件内容如下:
from setuptools import setup, find_packages
setup(
name='datapackage',
version='0.8.6',
description='Utilities to work with Data Packages',
long_description=open('README.md').read(),
long_description_content_type='text/markdown',
author='Open Knowledge Foundation',
author_email='info@okfn.org',
url='https://github.com/frictionlessdata/datapackage-py',
license='MIT',
packages=find_packages(exclude=['tests']),
install_requires=[
'jsonschema',
'requests',
'six',
'click',
'chardet',
'cchardet',
],
extras_require={
'cchardet': ['cchardet'],
},
classifiers=[
'Development Status :: 4 - Beta',
'Intended Audience :: Developers',
'License :: OSI Approved :: MIT License',
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
],
entry_points={
'console_scripts': [
'datapackage=datapackage.cli:cli',
],
},
)
3. 项目的配置文件介绍
项目的配置文件主要是 requirements.txt
,它列出了项目运行所需的依赖包。内容如下:
jsonschema
requests
six
click
chardet
cchardet
通过运行以下命令可以安装这些依赖包:
pip install -r requirements.txt
此外,项目还包含一些其他配置文件,如 .gitignore
和 .travis.yml
,分别用于Git版本控制和持续集成配置。