https://github.com/cgohlke/fmkr
Access FileMaker(tm) server databases
https://github.com/cgohlke/fmkr
database filemaker python
Last synced: 4 months ago
JSON representation
Access FileMaker(tm) server databases
- Host: GitHub
- URL: https://github.com/cgohlke/fmkr
- Owner: cgohlke
- License: bsd-3-clause
- Created: 2020-02-22T22:40:16.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-09-28T21:44:31.000Z (over 3 years ago)
- Last Synced: 2024-09-15T17:25:31.149Z (almost 2 years ago)
- Topics: database, filemaker, python
- Language: Python
- Homepage: https://pypi.org/project/fmkr
- Size: 28.3 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
..
This file is generated by setup.py
Access FileMaker(tm) Server Databases
=====================================
Fmkr is a Python library to access FileMaker(tm) Server 8 Advanced databases
via the XML publishing interface.
"FileMaker" is a registered trademark of Claris International Inc.
:Author: `Christoph Gohlke `_
:License: BSD-3-Clause
:Version: 2026.1.6
Requirements
------------
This revision was tested with the following requirements and dependencies
(other versions may work):
- `CPython `_ 3.11.9, 3.12.10, 3.13.11, 3.14.2
- `Lxml `_ 6.0.2
- `FileMaker(tm) Server 8 Advanced `_
Revisions
---------
2026.1.6
- Improve code quality.
- Support Python 3.12, 3.13, and 3.14.
- Drop support for Python 3.8, 3.9, and 3.10.
2022.9.28
- Convert docstrings to Google style with Sphinx directives.
2022.3.24
- Add type hints.
- Improve string representations of objects.
- Add immutable sequence interface to FMPXMLResult.
- Drop support for Python 3.6 and 3.7 (NEP 29).
2021.3.6
- Update copyright and formatting.
2020.1.1
- Drop support for Python 3.5.
- Update copyright.
2018.8.15
- Move fmkr.py into fmkr package.
2018.5.25
- Use lxml instead of minidom to parse FMPXMLResult.
- Improve string representations of FMPXMLResult and FMField.
- Update error codes.
- Drop support for Python 2.
2006.10.30
- Initial release.
References
----------
1. http://www.filemaker.com/downloads/documentation/fmsa8_custom_web_guide.pdf
Examples
--------
.. code-block:: python
>>> from fmkr import FM, FMError
>>> fmi = FM('filemaker.domain.com', 80, 'http')
>>> fmi.set_db_data('database', 'layout', maxret=5)
>>> fmi.set_db_password('fmuser', 'password')
>>> # create a new record
>>> fmi.add_db_param('FIRST', 'John')
>>> fmi.add_db_param('LAST', 'Doe')
>>> fmi.fm_new()
>>> # find and sort records
>>> fmi.add_db_param('LAST', 'Doe', 'bw')
>>> fmi.add_sort_param('LAST', 'ascend', 1)
>>> fmi.add_sort_param('FIRST', 'ascend', 2)
>>> result = fmi.fm_find()
>>> for record in result:
... print(record['FIRST'], record['LAST'])
...
John Doe
>>> # delete record
>>> recid = result[0]['RECORDID']
>>> fmi.set_record_id(recid)
>>> fmi.fm_delete()
>>> # catch an exception
>>> try:
... fmi.add_db_param('LAST', 'Doe', 'cn')
... fmi.fm_find()
... except FMError as exc:
... print(exc)
...
FileMaker Error 401: No records match the request