Skip to main content

A small example package

Project description

Py4Geo

Is still experimental...

Description

This module implements a DAL database model inspired to the OpenstreetMap database, optimized for storing informations, with a very flexible json structure able to host and model any kind of data.

It supports OpenstreetMap and geojson as main data structures for import.

System requirements

Optional requirements

Install

pip install py4geo

Use Py4geo in custom py4web applications

Py4web applications are nothing more than native python modules, Py4geo tools can be imported from them and for integration you just need to overwrite few basic setting variables.

Setup

  1. Define in your application settings subsequent variables with values adapted to your needs:

    # db settings
    # WARNING! Commented out variables are optional.
    # DB_FOLDER =
    DB_URI = "postgres://<PG user>:<password>@<host name>/<db name>"
    # DB_POOL_SIZE = 10
    # DB_MIGRATE = True # Actually True is the default if not specified.
    # MATERIALIZED_VIEWS = []
    
  2. Create your own setup script (setup.py) in the root of your application:

    from . import settings
    from py4geo import settings as py4geo_settings
    
    py4geo_settings.DB_URI = settings.DB_URI
    py4geo_settings.DB_FOLDER = settings.DB_FOLDER
    py4geo_settings.MATERIALIZED_VIEWS = settings.MATERIALIZED_VIEWS
    
    from py4geo.setup import initdb
    
    initdb()
    
    # WARNING! These imports must follow the call of the previous initdb function.
    from py4geo.setup.setup import modelsetup
    # Importing the model defined tables are automatically created
    from py4geo.models import db
    # This will create necessary geometry views.
    modelsetup()
    
  3. Go to your apps folder and run:

    cd path/to/apps
    python -m <yourAppName>.setup
    

WARNING the script will ask for necessary PostgreSQL power user credentials that you must know.

Share your py4web/web2py application database with Py4geo

You have two options

  • Overwrite the settings variable DB_URI with a valid PostgreSQL connection string to a PostGIS dtabase.

  • Overwrite the db variable in the common module with a DAL object connected to a PostGIS database.

Resources

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py4geo-1.0.1.tar.gz (35.6 kB view details)

Uploaded Source

Built Distribution

py4geo-1.0.1-py3-none-any.whl (42.1 kB view details)

Uploaded Python 3

File details

Details for the file py4geo-1.0.1.tar.gz.

File metadata

  • Download URL: py4geo-1.0.1.tar.gz
  • Upload date:
  • Size: 35.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 importlib_metadata/4.0.1 pkginfo/1.6.0 requests/2.24.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.0

File hashes

Hashes for py4geo-1.0.1.tar.gz
Algorithm Hash digest
SHA256 959f5e8e5e27899ba3f3a34075e81ea6d495bd76d76d19b284cfe3cc248bccfa
MD5 3fdacc8a8884597ea64dc821aef753fc
BLAKE2b-256 805d3674b82e56b70aecce994a4a77ffeb5428eb3af2655fe5fe2054f1fc8c06

See more details on using hashes here.

File details

Details for the file py4geo-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: py4geo-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 42.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 importlib_metadata/4.0.1 pkginfo/1.6.0 requests/2.24.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.0

File hashes

Hashes for py4geo-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1b7275c059460bd85311d12666964e756e08b8080acfe82238db57b490950114
MD5 cdeec6f05d00a37e7b509fb95212c0bc
BLAKE2b-256 9c46354499eadc7215ada74a2b7dfb23ee2b111c385d5dcc78e003c25e7cb090

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page