{"id":19671222,"url":"https://github.com/cgohlke/fmkr","last_synced_at":"2026-02-15T01:06:18.875Z","repository":{"id":62568782,"uuid":"242421884","full_name":"cgohlke/fmkr","owner":"cgohlke","description":"Access FileMaker(tm) server databases","archived":false,"fork":false,"pushed_at":"2022-09-28T21:44:31.000Z","size":29,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-09-15T17:25:31.149Z","etag":null,"topics":["database","filemaker","python"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/fmkr","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cgohlke.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-02-22T22:40:16.000Z","updated_at":"2024-03-20T18:05:19.000Z","dependencies_parsed_at":"2022-11-03T16:46:48.977Z","dependency_job_id":null,"html_url":"https://github.com/cgohlke/fmkr","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cgohlke%2Ffmkr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cgohlke%2Ffmkr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cgohlke%2Ffmkr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cgohlke%2Ffmkr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cgohlke","download_url":"https://codeload.github.com/cgohlke/fmkr/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224142765,"owners_count":17262884,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["database","filemaker","python"],"created_at":"2024-11-11T17:08:11.206Z","updated_at":"2026-02-15T01:06:18.868Z","avatar_url":"https://github.com/cgohlke.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"..\n  This file is generated by setup.py\n\nAccess FileMaker(tm) Server Databases\n=====================================\n\nFmkr is a Python library to access FileMaker(tm) Server 8 Advanced databases\nvia the XML publishing interface.\n\n\"FileMaker\" is a registered trademark of Claris International Inc.\n\n:Author: `Christoph Gohlke \u003chttps://www.cgohlke.com\u003e`_\n:License: BSD-3-Clause\n:Version: 2026.1.6\n\nRequirements\n------------\n\nThis revision was tested with the following requirements and dependencies\n(other versions may work):\n\n- `CPython \u003chttps://www.python.org\u003e`_ 3.11.9, 3.12.10, 3.13.11, 3.14.2\n- `Lxml \u003chttps://pypi.org/project/lxml/\u003e`_ 6.0.2\n- `FileMaker(tm) Server 8 Advanced \u003chttps://www.claris.com/filemaker/\u003e`_\n\nRevisions\n---------\n\n2026.1.6\n\n- Improve code quality.\n- Support Python 3.12, 3.13, and 3.14.\n- Drop support for Python 3.8, 3.9, and 3.10.\n\n2022.9.28\n\n- Convert docstrings to Google style with Sphinx directives.\n\n2022.3.24\n\n- Add type hints.\n- Improve string representations of objects.\n- Add immutable sequence interface to FMPXMLResult.\n- Drop support for Python 3.6 and 3.7 (NEP 29).\n\n2021.3.6\n\n- Update copyright and formatting.\n\n2020.1.1\n\n- Drop support for Python 3.5.\n- Update copyright.\n\n2018.8.15\n\n- Move fmkr.py into fmkr package.\n\n2018.5.25\n\n- Use lxml instead of minidom to parse FMPXMLResult.\n- Improve string representations of FMPXMLResult and FMField.\n- Update error codes.\n- Drop support for Python 2.\n\n2006.10.30\n\n- Initial release.\n\nReferences\n----------\n\n1. http://www.filemaker.com/downloads/documentation/fmsa8_custom_web_guide.pdf\n\nExamples\n--------\n\n.. code-block:: python\n\n    \u003e\u003e\u003e from fmkr import FM, FMError\n    \u003e\u003e\u003e fmi = FM('filemaker.domain.com', 80, 'http')\n    \u003e\u003e\u003e fmi.set_db_data('database', 'layout', maxret=5)\n    \u003e\u003e\u003e fmi.set_db_password('fmuser', 'password')\n    \u003e\u003e\u003e # create a new record\n    \u003e\u003e\u003e fmi.add_db_param('FIRST', 'John')\n    \u003e\u003e\u003e fmi.add_db_param('LAST', 'Doe')\n    \u003e\u003e\u003e fmi.fm_new()\n    \u003e\u003e\u003e # find and sort records\n    \u003e\u003e\u003e fmi.add_db_param('LAST', 'Doe', 'bw')\n    \u003e\u003e\u003e fmi.add_sort_param('LAST', 'ascend', 1)\n    \u003e\u003e\u003e fmi.add_sort_param('FIRST', 'ascend', 2)\n    \u003e\u003e\u003e result = fmi.fm_find()\n    \u003e\u003e\u003e for record in result:\n    ...     print(record['FIRST'], record['LAST'])\n    ...\n    John Doe\n    \u003e\u003e\u003e # delete record\n    \u003e\u003e\u003e recid = result[0]['RECORDID']\n    \u003e\u003e\u003e fmi.set_record_id(recid)\n    \u003e\u003e\u003e fmi.fm_delete()\n    \u003e\u003e\u003e # catch an exception\n    \u003e\u003e\u003e try:\n    ...     fmi.add_db_param('LAST', 'Doe', 'cn')\n    ...     fmi.fm_find()\n    ... except FMError as exc:\n    ...     print(exc)\n    ...\n    FileMaker Error 401: No records match the request","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcgohlke%2Ffmkr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcgohlke%2Ffmkr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcgohlke%2Ffmkr/lists"}