- 欢迎来到 GINO 的文档
- 上手教程
- 进阶用法
- 原理说明
- 参考手册
- API 参考
- gino.bakery module
- gino.api module
- gino.declarative module
- gino.schema module
- gino.crud module
- gino.json_support module
- gino.engine module
- gino.loader module
- gino.dialects.asyncpg module
- gino.dialects.base module
- gino.transaction module
- gino.dialects package
- gino.dialects.aiomysql module
- gino.ext package
- gino.aiocontextvars module
- gino.exceptions module
- gino.strategies module
- 扩展
- 版本历史
- API 参考
贡献
Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given.
您可以通过多种方式做出贡献:
Types of Contributions
报告错误
Report bugs at https://github.com/python-gino/gino/issues.
如果您要报告错误,请包括:
您的操作系统名称和版本。
有关本地设置的任何详细信息都可能有助于排除故障。
重现错误的详细步骤。
修复错误
在GitHub issues 查找错误。任何人都可以将标记为“bug”和“help wanted”并且是打开状态的问题修复。
实现功能
在GitHub issues 查找功能。任何人都可以将标记为“增强”和“需要帮助”的打开状态的需求实现。
写文档
GINO需要更多的使用文档,无论是作为官方GINO文档的一部分,还是文档字符串,甚至是博客,文章等等。
提交反馈
The best way to send feedback is to file an issue at https://github.com/python-gino/gino/issues.
如果您要提出一项功能:
详细解释它是如何工作的。
为了更容易实现,请保持范围尽可能窄。
Remember that this is a volunteer-driven project, and that contributions are welcome :)
Get Started!
Ready to contribute? Here's how to set up gino for local development.
Fork the gino repo on GitHub.
Clone your fork locally:
$ git clone git@github.com:your_name_here/gino.git
Create a branch for local development:
$ cd gino/ $ git checkout -b name-of-your-bugfix-or-feature
Now you can make your changes locally.
Create virtual environment. Example for virtualenvwrapper:
$ mkvirtualenv gino
Activate the environment and install requirements:
$ pip install -r requirements_dev.txt
When you're done making changes, check that your changes pass syntax checks:
$ flake8 gino tests
7. And tests (including other Python versions with tox). For tests you you will need running database server (see "Tips" section below for configuration details):
$ pytest tests $ tox
For docs run:
$ make docs
It will build and open up docs in your browser.
Commit your changes and push your branch to GitHub:
$ git add . $ git commit -m "Your detailed description of your changes." $ git push origin name-of-your-bugfix-or-feature
Submit a pull request through the GitHub website.
Pull Request Guidelines
Before you submit a pull request, check that it meets these guidelines:
The pull request should include tests.
If the pull request adds functionality, the docs should be updated. Put your new functionality into a function with a docstring, and add the feature to the list in README.rst.
The pull request should work for Python 3.5, 3.6, 3.7 and 3.8. Check https://github.com/python-gino/gino/actions?query=event%3Apull_request and make sure that the tests pass for all supported Python versions.
Tips
To run a subset of tests:
$ py.test -svx tests.test_gino
By default the tests run against a default installed postgres database. If you wish to run against a separate database for the tests you can do this by first creating a new database and user using 'psql' or similar:
CREATE ROLE gino WITH LOGIN ENCRYPTED PASSWORD 'gino'; CREATE DATABASE gino WITH OWNER = gino;
Then run the tests like so:
$ export DB_USER=gino DB_PASS=gino DB_NAME=gino $ py.test
Here is an example for db server in docker. Some tests require ssl so you will need to run postgres with ssl enabled. Terminal 1 (server):
$ openssl req -new -text -passout pass:abcd -subj /CN=localhost -out server.req -keyout privkey.pem $ openssl rsa -in privkey.pem -passin pass:abcd -out server.key $ openssl req -x509 -in server.req -text -key server.key -out server.crt $ chmod 600 server.key $ docker run --name gino_db --rm -it -p 5433:5432 -v "$(pwd)/server.crt:/var/lib/postgresql/server.crt:ro" -v "$(pwd)/server.key:/var/lib/postgresql/server.key:ro" postgres:12-alpine -c ssl=on -c ssl_cert_file=/var/lib/postgresql/server.crt -c ssl_key_file=/var/lib/postgresql/server.key
Terminal 2 (client):
$ export DB_USER=gino DB_PASS=gino DB_NAME=gino DB_PORT=5433 $ docker exec gino_db psql -U postgres -c "CREATE ROLE $DB_USER WITH LOGIN ENCRYPTED PASSWORD '$DB_PASS'" $ docker exec gino_db psql -U postgres -c "CREATE DATABASE $DB_NAME WITH OWNER = $DB_USER;" $ pytest tests/test_aiohttp.py
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论