Skip to main content

PyFileMaker - Integrating FileMaker and Python

Old project urls:


TABLE OF CONTENTS

  1. What is pyfilemaker2 ?
  2. Requirements
  3. How to install pyfilemaker2
  4. Documentation
  5. Changes

1. WHAT IS pyfilemaker2?

pyfilemaker2 is based, but largely rewritten, from PyFileMaker (https://github.com/aeguana/PyFileMaker) whose description is still valid:

PyFileMaker is a set of Python modules that makes it easy to access and modify
data stored in a FileMaker Pro/Server database. You can use it to query a FileMaker
database, but you can also use it to add data to a FileMaker database, you
can even use it to delete records and execute FileMaker scripts.

pyfilemaker2 implements the following additional features:

  • FM server responses can be streamed and parsed 'on the fly' during the streaming.
  • FM server responses can be automatically paginated as large dataset (>20k records) tend to trigger FMS and/or network timeouts.
  • meant to be thread safe, though I can't claim to be an expert on the subject...
  • More consistent and finer control on the way data types are cast when reading or writting FM records (in particular dates, datetimes and float objects)
  • python 3 compatible
  • improved test battery

2. REQUIREMENTS

At the time of the development (2021), pyfilemaker2 is using:

requests=2.25.1
lxml=4.6.2

The test suite also requires

mock
pytz

The code has been developped on Max OSX 10.15 and is used in production on debian jessie. Other plateforms have not been tested.

You will also need a FileMaker server with the XML enabled of course.


3. HOW TO INSTALL PYFILEMAKER2

You can install from pypi using pip

$ pip install pyfilemaker2

4. DOC

Their is no external doc but the function in the FmServer class have extensive docstring. Starts in particular with the server.py file. Moreover an FmServer object is likely the unique thing one will need to import from this package.

5. CHANGES

0.2.1:

  • Bugfix on import in test_server.py

0.2.0:

  • No longer support python2.7 as the future library was removed

0.1.14:

  • Minor change in FmServer.get_file to allow downloading of badly formatted filenames.

0.1.13:

  • changed the BackCast function so that query parameters may be bytestring

0.1.12:

  • improving this readme

  • bug fix in the FmServer.fetched_records_number function

0.1.11: enforcing stream=True by default as FMS now requires it.

0.1.10: bug fix with the stream argument.

0.1.9:

  • adding timezone support as FM datetime object are naive datetime

  • changed the way the options are passed to FmServer object so that a subclass with default parameters can be used.

0.1.6: bug fixes in do_find_query

Version 0.1

  • First release of the code

Metadata

Release files for pyfilemaker2 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyfilemaker2 0.2.1
File Size Uploaded
pyfilemaker2-0.2.1.tar.gz 24.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyfilemaker2 0.2.1
File Interpreter ABI Platform
pyfilemaker2-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 457.4 kB

Release files / pyfilemaker2-0.2.1.tar.gz

Download URL pyfilemaker2-0.2.1.tar.gz
Size 24.8 kB
Tags Source
SHA-256 checksum
How to use checksums
5504b3d06ae7eef2d498dedab9b557ad1040e8e59aa9cc5392efcb6a0178e149
BLAKE2b-256 checksum
How to use checksums
f4aecc93f6fd4939554356dbdcdab4892dde29990a4049305da83c603121ca20
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.9.1

Release files / pyfilemaker2-0.2.1-py3-none-any.whl

Download URL pyfilemaker2-0.2.1-py3-none-any.whl
Size 432.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b7db4360f8ec0cc8a3d0055303d57581b85e52379b5071e262611329e4102bf2
BLAKE2b-256 checksum
How to use checksums
9f8c6fa910e7d336adf1d29c952e5b33e4d19ca1f6c233e5af81bfdb66a24b97
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.9.1

Release history Release notifications | RSS feed

0.2.6

1 release file

0.2.5

1 release file

0.2.4

1 release file

0.2.3

1 release file

0.2.2

1 release file

This release

0.2.1 This release

2 release files

0.2.0

2 release files

0.1.14

1 release file

0.1.13

1 release file

0.1.11

1 release file

0.1.10

1 release file

0.1.9

1 release file

0.1.8

1 release file

0.1.7

1 release file

0.1.6

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page