资源管理(文件/目录/等)。
rsrc的Python项目详细描述
RSRC
在接下来的内容中
python
是python3.5
或任何更高版本的别名 版本(python3.6
等),pypy
是pypy3.5
或任何更高版本的别名 版本(pypy3.6
等等)。
安装
安装最新的pip
&;setuptools
软件包版本:
- 与
CPython
python -m pip install --upgrade pip setuptools
- 用
PyPy
pypy -m pip install --upgrade pip setuptools
用户
从PyPI
存储库下载并安装最新的稳定版本:
- 与
CPython
python -m pip install --upgrade rsrc
- 用
PyPy
pypy -m pip install --upgrade rsrc
显影剂
从GitHub
存储库下载最新版本
git clone https://github.com/lycantropos/rsrc.git
cd rsrc
安装依赖项:
- 与
CPython
python -m pip install -r requirements.txt
- 用
PyPy
pypy -m pip install -r requirements.txt
安装:
- 与
CPython
python setup.py install
- 用
PyPy
pypy setup.py install
用法
主要思想是使用setuptools
特性
叫"Dynamic Discovery of Services and Plugins"。
假设我们有一个具有结构的包rsrc_ftp
|_ rsrc_ftp.py
|_ setup.py
它添加了对带有ftp
方案的url的支持
rsrc_ftp.py
fromrsrc.modelsimportResourcedefdeserialize(string:str)->Resource:...
使其可用于rsrc
包
我们应该注册它的入口点
(rsrc_ftp::deserialize
函数在我们的例子中)
setup.py
fromsetuptoolsimportsetupfromrsrcimportpluginsplugins_entry_points=[plugins.to_entry_point(id_=plugins.to_id('ftp'),module_name='rsrc_ftp',function_name='deserialize'),]setup(name='rsrc_ftp',py_modules=['rsrc_ftp'],entry_points={plugins.__name__:plugins_entry_points},install_requires=['rsrc'])
之后,安装rsrc_ftp
包
将在rsrc
包中注册rsrc_ftp::deserialize
函数
作为使用ftp
方案的资源的入口点
>>>fromrsrc.baseimportdeserialize>>>ftp_resource=deserialize('ftp://path/to/resource')>>>ftp_resource.urlURL('ftp','path','/to/resource','','','')
插件
开发
碰撞版本
准备工作
安装 bump2version。
预发布
选择要在semver specification之后凹凸的版本号类别。
测试碰撞版本
bump2version --dry-run --verbose $CATEGORY
其中$CATEGORY
是目标版本号类别名称,可能
值是patch
/minor
/major
。
凹凸版本
bump2version --verbose $CATEGORY
这将把version设置为major.minor.patch-alpha
。
释放
测试碰撞版本
bump2version --dry-run --verbose release
凹凸版本
bump2version --verbose release
这将把version设置为major.minor.patch
。
注释
为了避免分支和拉取请求之间的不一致,
碰撞版本应该合并到master
分支中
作为单独的请求。
运行测试
安装依赖项:
- 与
CPython
python -m pip install -r requirements-tests.txt
- 用
PyPy
pypy -m pip install -r requirements-tests.txt
普通
pytest
容器内部:
- 与
CPython
docker-compose --file docker-compose.cpython.yml up
- 用
PyPy
docker-compose --file docker-compose.pypy.yml up
Bash
脚本(例如,可用于Git
挂钩):
用
CPython
./run-tests.sh
或
./run-tests.sh cpython
用
PyPy
./run-tests.sh pypy
PowerShell
脚本(例如,可用于Git
挂钩):
- 与
CPython
.\run-tests.ps1
或.\run-tests.ps1cpython
- 用
PyPy
.\run-tests.ps1pypy