An open API service indexing awesome lists of open source software.

https://github.com/mondeja/cartocss-doc-parser

CartoCSS styling documentation parser
https://github.com/mondeja/cartocss-doc-parser

cartocss parser

Last synced: 3 months ago
JSON representation

CartoCSS styling documentation parser

Awesome Lists containing this project

README

          

# cartocss-doc-parser

[![PyPI][pypi-version-image]][pypi-link]
[![Python versions][pypi-pyversions-image]][pypi-link]
[![Tests][tests-image]][tests-link]
[![Coverage Status][coverage-image]][coverage-link]

[CartoCSS documentation][cartocss-doc-link] Python parser.



## Install

```bash
pip install cartocss-doc-parser
```

## Quickstart

The main function [cartocss_doc](#cartocss_doc) returns a dictionary with
almost every section of the documentation. All the properties are wrapped in
generators.

```python
>>> from pprint import pprint
>>> from cartocss_doc_parser import cartocss_doc
>>>
>>> doc = cartocss_doc()
>>> pprint(doc)
{'building': ,
'common_elements': ,
'line': ,
'line_pattern': ,
'map_background_and_string_elements': ,
'markers': ,
'other_parameters': ,
'point': ,
'polygon': ,
'polygon_pattern': ,
'raster': ,
'shield': ,
'symbolizers': ,
'text': ,
'torque_properties': ,
'values': }
```

All properties contains the attributes

- **`default`** Default value.
- **`description`** Description.
- **`id`** Identificator.
- **`link`** Link to the property on documentation.
- **`name`** Name of the property.
- **`sample`** Example of use.
- **`type`** Value data type. For a complete list see
[cartocss_data_types](#cartocss_data_types).

and if the data type is `keyword` contains an additional attribute

- **`variants`** Possible values for the property.

```python
>>> pprint(list(doc["polygon"]))
[{'default': 'gray',
'description': 'The fill color assigned to a polygon.',
'id': 'polygon-fill-color',
'link': 'https://carto.com/developers/styling/cartocss/#polygon-fill-color',
'name': 'polygon-fill',
'sample': 'polygon-fill: rgba(128, 128, 128, 1);',
'type': 'color'},
{'default': '1',
'description': 'The opacity of the polygon.',
'id': 'polygon-opacity-float',
'link': 'https://carto.com/developers/styling/cartocss/#polygon-opacity-float',
'name': 'polygon-opacity',
'sample': 'polygon-opacity: 1;',
'type': 'float'},
...,
{'default': 'power',
'description': 'An anti-grain geometry method that represents a 2D rendering '
'library, specific to controlling the quality of antialiasing '
'and used to calculate pixel gamma (pow(x,gamma), which '
'produces slightly smoother line and polygon antialiasing '
"than the 'linear' method.",
'id': 'polygon-gamma-method-keyword',
'link': 'https://carto.com/developers/styling/cartocss/#polygon-gamma-method-keyword',
'name': 'polygon-gamma-method',
'sample': 'polygon-gamma-method: power;',
'type': 'keyword',
'variants': ['power', 'linear', 'none', 'threshold', 'multiply']},
...
]
```

All data types can be requested with [cartocss_data_types](#cartocss_data_types) function:

```python
>>> from cartocss_doc_parser import cartocss_data_types
>>> pprint(list(cartocss_data_types()))
['color',
'float',
'uri',
'string',
'boolean',
'expression',
'numbers',
'number',
'percentages',
'percentage',
'functions',
'function',
'keyword',
'unsigned',
'tags']
```

## Documentation

# cartocss_doc(url="https://carto.com/developers/styling/cartocss/", user_agent="cartocss_doc_parser vX.Y.Z") ⇒ `dict`

Provides information for almost every section of CartoCSS documentation.

- **url** (str) URL to the documentation page. Can be a local file, in which
case any HTTP request would be performed, instead the file would be read.
- **user_agent** (str) User agent performing the HTTP request to documentation
page. As default is `cartocss_doc_parser (v%(version)s)`.

# cartocss_data_types(url="https://carto.com/developers/styling/cartocss/", user_agent="cartocss_doc_parser vX.Y.Z") ⇒ `gen`

Lists all available data types for properties for CartoCSS.

- **url** (str) URL to the documentation page. Can be a local file, in which
case any HTTP request would be performed, instead the file would be read.
- **user_agent** (str) User agent performing the HTTP request to documentation
page. As default is `cartocss_doc_parser (v%(version)s)`.

[pypi-link]: https://pypi.org/project/cartocss-doc-parser
[pypi-version-image]: https://img.shields.io/pypi/v/cartocss-doc-parser
[pypi-pyversions-image]: https://img.shields.io/pypi/pyversions/cartocss-doc-parser
[tests-image]: https://img.shields.io/github/actions/workflow/status/mondeja/cartocss-doc-parser/ci.yml?branch=master&logo=github&label=tests
[tests-link]: https://github.com/mondeja/cartocss-doc-parser/actions?query=workflow%3ATest
[coverage-image]: https://coveralls.io/repos/github/mondeja/cartocss-doc-parser/badge.svg
[coverage-link]: https://coveralls.io/github/mondeja/cartocss-doc-parser
[cartocss-doc-link]: https://carto.com/developers/styling/cartocss