You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+11-2Lines changed: 11 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -65,6 +65,7 @@ Your contribution will be under our [license](https://github.com/geopython/pygeo
65
65
* Pull requests may include copyright in the source code header by the contributor if the contribution is significant or the contributor wants to claim copyright on their contribution.
66
66
* All contributors shall be listed at https://github.com/geopython/pygeoapi/graphs/contributors
67
67
* Unclaimed copyright, by default, is assigned to the main copyright holders as specified in https://github.com/geopython/pygeoapi/blob/master/LICENSE.md
68
+
* further notes can be found in the [documentation](https://docs.pygeoapi.io/en/latest/development.html#testing)
68
69
69
70
### Version Control Branching
70
71
@@ -89,16 +90,23 @@ Your contribution will be under our [license](https://github.com/geopython/pygeo
89
90
while, __make sure you rebase or merge to latest ``master``__ to ensure a
90
91
speedier resolution.
91
92
93
+
### Testing
94
+
95
+
* testing is performed using [pytest](https://pytest.org) and covers all major components (API core, providers, formatters, managers, etc.)
96
+
* additional information can be found in the [documentation](https://docs.pygeoapi.io/en/latest/development.html#testing)
97
+
98
+
92
99
### Documentation
93
100
94
101
* documentation is managed in `docs/`, in reStructuredText format
95
102
*[Sphinx](https://www.sphinx-doc.org) is used to generate the documentation
96
103
* See the [reStructuredText Primer](https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html) on rST markup and syntax
104
+
* additional information can be found in the [documentation](https://docs.pygeoapi.io/en/latest/development.html#building-the-documentation)
97
105
98
106
99
107
### Wiki
100
108
101
-
* the [pygeoapi wiki](https://github.com/geopython/pygeoapi/wiki) provides working level documentation
109
+
* the [pygeoapi wiki](https://github.com/geopython/pygeoapi/wiki) provides working level documentation and various community resources
102
110
103
111
104
112
### Code Formatting
@@ -107,7 +115,8 @@ Your contribution will be under our [license](https://github.com/geopython/pygeo
107
115
* pygeoapi follows the [PEP-8](http://www.python.org/dev/peps/pep-0008/) guidelines
108
116
* 80 characters
109
117
* spaces, not tabs
110
-
* pygeoapi, instead of PyGeoAPI, pygeoAPI, etc.
118
+
* pygeoapi, NOT PyGeoAPI, pygeoAPI, etc.
119
+
* additional information can be found in the [documentation](https://docs.pygeoapi.io/en/latest/development.html#linting)
Copy file name to clipboardExpand all lines: docs/source/contributing.rst
-41Lines changed: 0 additions & 41 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,46 +3,5 @@
3
3
Contributing
4
4
============
5
5
6
-
Building the documentation
7
-
--------------------------
8
-
9
-
To build the documentation in pygeoapi we use `Sphinx`_. The documentation is located in the docs folder.
10
-
11
-
.. note::
12
-
For the following instructions to work, you must be located in the root folder of pygeoapi.
13
-
14
-
Install the dependencies necessary for building the documentation using the following command:
15
-
16
-
.. code-block:: bash
17
-
18
-
pip3 install -r docs/requirements.txt
19
-
20
-
After installing the requirements, build the documentation using the ``sphinx-build`` command:
21
-
22
-
.. code-block:: bash
23
-
24
-
sphinx-build -M html docs/source docs/build
25
-
26
-
27
-
Or using the following ``make`` command:
28
-
29
-
.. code-block:: bash
30
-
31
-
make -C docs html
32
-
33
-
After building the documentation, the folder ``docs/build`` will contain the website generated with the documentation.
34
-
Add the folder to a web server or open the file ``docs/build/html/index.html`` file in a web browser to see the contents of the documentation.
35
-
36
-
The documentation is hosted on `readthedocs`_. It is automatically generated from the contents of the ``master`` branch on GitHub.
37
-
38
-
The file ``.readthedocs.yaml`` contains the configuration of the readthedocs build. Refer to the `readthedocs configuration file`_ documentation for more information.
39
-
40
-
Contributing GitHub page
41
-
------------------------
42
-
43
6
Please see the `Contributing page <https://github.com/geopython/pygeoapi/blob/master/CONTRIBUTING.md>`_
Copy file name to clipboardExpand all lines: docs/source/crs.rst
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,7 +30,7 @@ Metadata
30
30
The conformance class `http://www.opengis.net/spec/ogcapi-features-2/1.0/conf/crs` is present as a `conformsTo` field
31
31
in the root landing page response.
32
32
33
-
The configured CRSs, or their defaults, `crs` and `storageCRS` and optionally `storageCrsCoordinateEpoch` will be present in the "Describe Collection" response.
33
+
The configured CRSs, or their defaults, `crs` and `storageCrs` and optionally `storageCrsCoordinateEpoch` will be present in the "Describe Collection" response.
34
34
35
35
Parameters
36
36
----------
@@ -95,7 +95,7 @@ Suppose an addresses collection with the following CRS support in its collection
@@ -222,6 +223,76 @@ Here `test` is the name of database , `points` is the target collection name.
222
223
data: mongodb://localhost:27017/testdb
223
224
collection: testplaces
224
225
226
+
227
+
.. _MySQL:
228
+
229
+
MySQL
230
+
^^^^^
231
+
232
+
.. note::
233
+
Requires Python packages sqlalchemy, geoalchemy2 and pymysql
234
+
235
+
Must have MySQL installed.
236
+
237
+
.. code-block:: yaml
238
+
239
+
providers:
240
+
- type: feature
241
+
name: MySQL
242
+
data:
243
+
host: 127.0.0.1
244
+
port: 3306# Default 3306 if not provided
245
+
dbname: test_geo_app
246
+
user: mysql
247
+
password: mysql
248
+
search_path: [test_geo_app] # Same as dbname
249
+
id_field: locationID
250
+
table: location
251
+
geom_field: locationCoordinates
252
+
253
+
A number of database connection options can be also configured in the provider in order to adjust properly the sqlalchemy engine client.
254
+
These are optional and if not specified, the default from the engine will be used. Please see also `SQLAlchemy docs <https://docs.sqlalchemy.org/en/14/core/engines.html#custom-dbapi-connect-arguments-on-connect-routines>`_.
255
+
256
+
.. code-block:: yaml
257
+
258
+
providers:
259
+
- type: feature
260
+
name: MySQL
261
+
data:
262
+
host: 127.0.0.1
263
+
port: 3306# Default 3306 if not provided
264
+
dbname: test_geo_app
265
+
user: mysql
266
+
password: mysql
267
+
search_path: [test_geo_app] # Same as dbname
268
+
options:
269
+
# Maximum time to wait while connecting, in seconds.
270
+
connect_timeout: 10
271
+
# Number of *milliseconds* that transmitted data may remain
272
+
# unacknowledged before a connection is forcibly closed.
273
+
tcp_user_timeout: 10000
274
+
# Whether client-side TCP keepalives are used. 1 = use keepalives,
275
+
# 0 = don't use keepalives.
276
+
keepalives: 1
277
+
# Number of seconds of inactivity after which TCP should send a
278
+
# keepalive message to the server.
279
+
keepalives_idle: 5
280
+
# Number of TCP keepalives that can be lost before the client's
281
+
# connection to the server is considered dead.
282
+
keepalives_count: 5
283
+
# Number of seconds after which a TCP keepalive message that is not
284
+
# acknowledged by the server should be retransmitted.
285
+
keepalives_interval: 1
286
+
id_field: locationID
287
+
table: location
288
+
geom_field: locationCoordinates
289
+
290
+
This provider has support for the CQL queries as indicated in the Provider table above.
291
+
292
+
.. seealso::
293
+
:ref:`cql` for more details on how to use Common Query Language (CQL) to filter the collection with specific queries.
Geometry must have correctly defined :ref:`storage_crs<crs>`
174
+
175
+
PostgreSQL-related connection options can also be added to `options`. Please refer to the :ref:`PostgreSQL OGC Features Provider<PostgreSQL>` documentation for more information.
0 commit comments