Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zloyuser/sanic-ccxt
https://github.com/zloyuser/sanic-ccxt
Last synced: 25 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/zloyuser/sanic-ccxt
- Owner: zloyuser
- License: mit
- Created: 2018-05-25T16:30:50.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-08-04T17:39:42.000Z (over 5 years ago)
- Last Synced: 2024-08-03T18:13:03.878Z (4 months ago)
- Language: Python
- Size: 42 KB
- Stars: 2
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ccxt - sanic-ccxt - Unified REST API on #python (API)
README
# base-sanic
A skeleton project using sanic framework. I designed this skeleton
for the API development only, but you can modify it if you want to use
this skeleton also for full stack web development / web apps.## Stacks
- Main programming language: `Python3`
- Framework: [Sanic](https://github.com/channelcat/sanic)
- Configuration: [Python Dotenv](https://github.com/theskumar/python-dotenv)Dependencies:
- Sanic (of course)
- Python dotenv: Manage environment variable for configurations
- aiohttp: Async http client/server library (actually you should got this lib from sanic itself, i just need to make sure about it)
- Fabric3: Manage automated tasks```
The purpose of this project not to adding new functionalities to Sanic, but just
to provide a simple skeleton, so you can start working on your new project quickly,
and of course using Sanic as your main framework.
```---
## Getting Started
Install dependencies :
```
pip install -r requirements.txt
```Start sanic:
```
python main.py
```Start with debug:
```
python main.py --debug
```Enable access logs:
```
python main.py --access
```Read more about command line options:
```
python main.py -h
```---
## Structures
`apps`
Put all of your apps here. I'm just following Django modular apps here.
`core`
This place used to put all core library (not business logic) like for helpers
and also for sanic's extensions like custom exception handler or custom middlewares.`main`
You need to install all of your apps or extentions by registering their `blueprint`,
for more detail, you can see the code inside `main.py`.---
## Settings
We are using `python-dotenv` to manage all of your configurations. There is file named
with `env.default` , put all of your config keys here (do not put your sensitive values, like
your api key). You need to copy and rename the file to `.env` (this file listed at `.gitignore`),
and configure your configuration key and values in this file (`.env`).You need to add all of those configurations to `settings.py`, then all your configurations will
be loaded inside sanic's lifecycle, you can access these configurations from your blueprint's apps, using
`request.app.config`.---
## Automate Tests & Tasks
I'm also a fan of automated tests. This skeleton also provide a basic structures that _maybe_ you
will need it to manage all of your tests.For all tests it will separated by their modules, examples:
- tests/apps
- tests/coreIt will help you to select your context when running test.
Besides of automated tests, this skeleton also provide basic automated tasks using [Fabric3](https://github.com/mathiasertl/fabric/).
You can setup your tasks in `fabfile.py`. An example to run your tests:
```
fab test:apps
```