Metadata-Version: 2.1
Name: python-fmrest
Version: 1.3.0
Summary: python-fmrest is a wrapper around the FileMaker Data API.
Home-page: https://github.com/davidhamann/python-fmrest
Author: David Hamann
Author-email: dh@davidhamann.de
License: UNKNOWN
Description: # python-fmrest
        
        python-fmrest is a wrapper around the FileMaker Data API.
        
        No need to worry about manually requesting access tokens, setting the right http headers, parsing responses, ...
        
        Quick example:
        
        ```python
        >>> fms = fmrest.Server('https://your-server.com',
                                user='admin',
                                password='admin',
                                database='Contacts',
                                layout='Contacts')
        >>> fms.login()
        >>> record = fms.get_record(1)
        >>> record.name
        John Doe
        ```
        
        ## Supported Features
        
        All API paths can be served:
        
        - auth
        - record
        - find
        - global
        - script
        
        ## Feel free to contribute!
        
        If you would like to contribute, you can help with the code, try it out and report 🐞🐞, propose new features, write tests, add examples and documentation.
        
        There's always room for improvement!
        
        ---
        
        Questions/problems? Open a [new issue](https://github.com/davidhamann/python-fmrest/issues). You can also contact me directly at dh@davidhamann.de.
        
        ## Install
        
        You need Python 3.6 and FileMaker Server/Cloud 17.
        
        You can install the library like this (preferably in a [virtualenv](https://virtualenv.pypa.io/en/stable/)):
        
        ```
        pip install python-fmrest
        ```
        
        Or the latest master:
        
        ```
        pip install https://github.com/davidhamann/python-fmrest/archive/master.zip
        ```
        
        ## Usage Examples
        
        Examples can be found in the [examples](https://github.com/davidhamann/python-fmrest/tree/master/examples) directory. Can't figure something out or feel an example is missing? Please file an issue.
        
        ## Local development / running tests
        
        Make sure to have requirements-dev.txt installed:
        
        ```
        pip install -r requirements-dev.txt
        ```
        
        Running `pytest` will run all tests. To run specific tests, specify the path:
        
        ```
        pytest tests/unit
        ```
        
        For running `tests/integration` you will need to have a real FileMaker Server and a test database.
        
        ---
        
        For static type checking, please use `mypy`:
        
        ```
        mypy fmrest
        ```
        
        ---
        
        To have all tests plus static type checks run every time before a commit, please install the git hook:
        
        ```
        cd hooks
        chmod +x install.sh pre-commit.sh run-tests.sh
        ./install.sh
        ```
        
        ## TO DO
        <a id="to-do"></a>
        
        Some bits and pieces are not implemented yet.
        
        Examples of what I can think of:
        
        - OAuth support
        - Handling of reserved field names (currently, `record_id`, `modification_id`, `is_dirty` clash with used properties and you will not be able to read your own fields with the same name)
        - Needs more test coverage, e.g. for `get_records()`, `find()`, `edit_record()`
        - Some more usage examples on how to create, edit, delete, set globals, etc. Tell me where you have issues by opening an [issue](https://github.com/davidhamann/python-fmrest/issues).
        - cli support would be great at some point in the future :-)
        
Platform: UNKNOWN
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.6
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
