Longitude
A new bunch of middleware functions to build applications on top of CARTO.
Roadmap
-
Database model
- CARTO data source
- Basic parametrized queries (i.e. templated queries)
- Protected parametrized queries (i.e. avoiding injection)
- Bind/dynamic parameters in queries (server-side render)
- Postgres data source
- psycopg2
- SQLAlchemy
- Cache
- Base cache
- Put
- Get
- Key generation
- Flush
- Tests
- Ram Cache
- Tests
- Redis Cache
- Tests
- Base cache
- Documentation
- Sample scripts
- Unit tests
- Sample scripts
- CARTO data source
-
Config
-
CI PyPi versioning
-
COPY operations
- Carto
- COPY FROM
- COPY TO
- Postgres
- COPY FROM
- COPY TO
- SQLAlchemy
- COPY FROM
- COPY TO
- Carto
-
Validations
- Marshmallow
- Wrapper (?)
- Documentation
- Marshmallow
-
Swagger
- Decorators
- Flassger (?)
- OAuth integration
- Postman integration
- Documentation
-
SQL Alchemy
- Model definition
- Jenkins integration
- Documentation
-
OAuth
- OAuth2 with Carto (onprem)
- Role mapping
- Token storage
- Documentation
As final user...
How to use:
pip install longitude
Or:
pipenv install longitude
Or:
poetry add longitude
Or install from GitHub:
pip install -e git+https://github.com/GeographicaGS/Longitude#egg=longitude
As developer...
First time
- Install
poetryusing the recommended process- poetry is installed globally as a tool
- It works along with virtualenvironments
- Create a virtual environment for Python 3.x (check the current development version in
pyproject.toml)- You can create it wherever you want but do not put it inside the project
- A nice place is
$HOME/virtualenvs/longitude
- Clone the
longituderepo cdto the repo and:- Activate the virtual environment:
. ~/virtualenvs/longitude/bin/activate - Run
poetry install
- Activate the virtual environment:
- Configure your IDE to use the virtual environment
Daily
- Remember to activate the virtual environment
Why Poetry?
Because it handles development dependencies and packaging with a single file (pyproject.toml), which is already standard.
Sample scripts
These are intended to be used with real databases (i.e. those in your profile) to check features of the library. They must be run from the virtual environment.
Testing and coverage
The pytest-cov plugin is being used. Coverage configuration is at .coveragerc (including output folder).
You can run something like: pytest --cov-report=html --cov=core core and the results will go in the defined html folder.
There is a bash script called generate_core_coverage.sh that runs the coverage analysis and shows the report in your browser.
Metadata
Release files for geographica-longitude 0.10.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| geographica-longitude-0.10.0.tar.gz | 24.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| geographica_longitude-0.10.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 63.4 kB
Release files / geographica-longitude-0.10.0.tar.gz
| Download URL | geographica-longitude-0.10.0.tar.gz |
|---|---|
| Size | 24.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0a5f881b89337bc20456d29e735f83e64f3673924723e9d8975f42463a768b11
|
|
BLAKE2b-256 checksum How to use checksums |
9736a8403e233aa09a410ae7b7bfcd6a5d9789d75c6bb240df81b66f9cd291f7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.0.10 CPython/3.7.3 Linux/4.19.112+
|
Release files / geographica_longitude-0.10.0-py3-none-any.whl
| Download URL | geographica_longitude-0.10.0-py3-none-any.whl |
|---|---|
| Size | 38.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f2d5e4ca155c7086020da3b55a7bd478b1840a22a81b6154059e0877bb22fc0b
|
|
BLAKE2b-256 checksum How to use checksums |
8cbd5dd526cce063c39b251ec8d3fceaf48ba123ddae0325aa2730c4776dd8f4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.0.10 CPython/3.7.3 Linux/4.19.112+
|