Metadata-Version: 2.1
Name: bibtexpy
Version: 0.0.1
Summary: Python bibtex parser and serializer.
Home-page: https://github.com/coreofscience/bibtexpy
Author: Oscar David Arbeláez Echeverri
Author-email: odarbelaeze@gmail.com
License: MIT license
Keywords: bibtext,parser
Platform: UNKNOWN
Classifier: Development Status :: 1 - Planning
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: pyparsing (>=2.4.7<3)

# bibtexpy

A simple library with full support for bibtex.

## Grammar

We support the following grammar for bibtex:

![Railroad](./docs/railroad.png)

In summary we support:

- enclosing blocks with curlies or brackets.
- quoted and curlied strings, inner curlies are left to be processed by LaTeX.
- concatenation between numbers, macros, and strings.
- quote scaping inside quoted strings.
- `comment`, `string` and `preamble` blocks.

We don't support savage things like:

- Implicit comments.
- Operations with undefined macros.
- Circular references on macros.

As a couple of notes:

- `comment` and `preamble` blocks are ignored from the get go.
- `preamble` blocks may only contain a valid string concatenation.



