pyfilemaker2


Namepyfilemaker2 JSON
Version 0.2.6 PyPI version JSON
download
home_pagehttps://github.com/jeremie-borel/pyfilemaker2/
SummaryPython Object Wrapper for FileMaker Server XML Interface
upload_time2024-05-17 20:17:04
maintainerNone
docs_urlNone
authorKlokan Petr Pridal, Pieter Claerhout, Marcin Kawa, Jeremie Borel
requires_pythonNone
licensehttp://www.opensource.org/licenses/bsd-license.php
keywords filemaker
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # PyFileMaker - Integrating FileMaker and Python
* (c) 2016-2022 Jeremie Borel
* (c) 2014-2016 Marcin Kawa, kawa.macin@gmail.com
* (c) 2006-2008 Klokan Petr Pridal, klokan@klokan.cz
* (c) 2002-2006 Pieter Claerhout, pieter@yellowduck.be

Old project urls:

* https://github.com/aeguana/PyFileMaker
* http://code.google.com/p/pyfilemaker/
* http://www.yellowduck.be/filemaker/

-------------------------------------------------------------------------------

### 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 (2022), pyfilemaker2 is using:

```
requests=2.28.1
lxml=4.9.1
```

The test suite also requires

```
mock
pytz
```

The code has been tested on Max OSX 12.6 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.
Currently version FMS18 and FMS19 are working. Most probably older versions
of FMS too.

----

### 3. HOW TO INSTALL PYFILEMAKER2

You can install from pypi using pip

```
$ pip install pyfilemaker2
```

---

### 4. DOC

There are no external docs 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.5:
- BACKWARD INCOMPATIBLE: server_timezone parameter now requires a zoneinfo.ZoneInfo object or None. Timezones from pytz are not supported anymore. To use another package (e.g. pytz), one can overload the BackCast class from caster and define it as the :back_cast_class: static member of FmInstance.

0.2.4:
- Fix https://github.com/jeremie-borel/pyfilemaker2/issues/1 that prevented FMS 19 to work.

0.2.3:
- 

0.2.2:

- BackCast now cast numbers correctly

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



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/jeremie-borel/pyfilemaker2/",
    "name": "pyfilemaker2",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "FileMaker",
    "author": "Klokan Petr Pridal, Pieter Claerhout, Marcin Kawa, Jeremie Borel",
    "author_email": "klokan@klokan.cz, pieter@yellowduck.be, kawa.macin@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/0c/74/a554cc2907de21ac6575820f6e8dee2cc449588b26ed9421d28c728d3f43/pyfilemaker2-0.2.6.tar.gz",
    "platform": "any",
    "description": "# PyFileMaker - Integrating FileMaker and Python\n* (c) 2016-2022 Jeremie Borel\n* (c) 2014-2016 Marcin Kawa, kawa.macin@gmail.com\n* (c) 2006-2008 Klokan Petr Pridal, klokan@klokan.cz\n* (c) 2002-2006 Pieter Claerhout, pieter@yellowduck.be\n\nOld project urls:\n\n* https://github.com/aeguana/PyFileMaker\n* http://code.google.com/p/pyfilemaker/\n* http://www.yellowduck.be/filemaker/\n\n-------------------------------------------------------------------------------\n\n### TABLE OF CONTENTS\n\n1. What is pyfilemaker2 ?\n2. Requirements\n3. How to install pyfilemaker2\n4. Documentation\n5. Changes\n\n-------------------------------------------------------------------------------\n### 1. WHAT IS pyfilemaker2?\n\npyfilemaker2 is based, but largely rewritten, from PyFileMaker \n(https://github.com/aeguana/PyFileMaker) whose description is still valid:\n\n```\nPyFileMaker is a set of Python modules that makes it easy to access and modify\ndata stored in a FileMaker Pro/Server database. You can use it to query a FileMaker\ndatabase, but you can also use it to add data to a FileMaker database, you\ncan even use it to delete records and execute FileMaker scripts.\n```\n\npyfilemaker2 implements the following additional features:\n- FM server responses can be streamed and parsed 'on the fly' during the streaming. \n- FM server responses can be automatically paginated as large dataset (>20k records) \n  tend to trigger FMS and/or network timeouts.\n- meant to be thread safe, though I can't claim to be an expert on the subject...\n- More consistent and finer control on the way data types are cast when reading or \n  writting FM records (in particular dates, datetimes and float objects)\n- python 3 compatible\n- improved test battery\n\n----\n\n### 2. REQUIREMENTS\n\nAt the time of the development (2022), pyfilemaker2 is using:\n\n```\nrequests=2.28.1\nlxml=4.9.1\n```\n\nThe test suite also requires\n\n```\nmock\npytz\n```\n\nThe code has been tested on Max OSX 12.6 and is used in production on \ndebian jessie. Other plateforms have not been tested.\n\nYou will also need a FileMaker server with the XML enabled of course.\nCurrently version FMS18 and FMS19 are working. Most probably older versions\nof FMS too.\n\n----\n\n### 3. HOW TO INSTALL PYFILEMAKER2\n\nYou can install from pypi using pip\n\n```\n$ pip install pyfilemaker2\n```\n\n---\n\n### 4. DOC\n\nThere are no external docs but the function in the FmServer class have\nextensive docstring. Starts in particular with the server.py file. Moreover an\nFmServer object is likely the unique thing one will need to import from this\npackage.\n\n### 5. CHANGES\n\n0.2.5:\n- BACKWARD INCOMPATIBLE: server_timezone parameter now requires a zoneinfo.ZoneInfo object or None. Timezones from pytz are not supported anymore. To use another package (e.g. pytz), one can overload the BackCast class from caster and define it as the :back_cast_class: static member of FmInstance.\n\n0.2.4:\n- Fix https://github.com/jeremie-borel/pyfilemaker2/issues/1 that prevented FMS 19 to work.\n\n0.2.3:\n- \n\n0.2.2:\n\n- BackCast now cast numbers correctly\n\n0.2.1:\n\n- Bugfix on import in test_server.py\n\n\n0.2.0:\n\n- No longer support python2.7 as the `future` library was removed\n\n0.1.14:\n\n- Minor change in FmServer.get_file to allow downloading of \n  badly formatted filenames.\n\n0.1.13:\n\n- changed the BackCast function so that query parameters may be\n  bytestring \n\n0.1.12: \n\n- improving this readme\n\n- bug fix in the FmServer.fetched_records_number function\n\n0.1.11: enforcing stream=True by default as FMS now requires it.\n\n0.1.10: bug fix with the stream argument.\n\n0.1.9: \n\n- adding timezone support as FM datetime object are naive datetime\n\n- changed the way the options are passed to FmServer object\n         so that a subclass with default\n         parameters can be used.\n         \n0.1.6: bug fixes in `do_find_query`\n\nVersion 0.1\n - First release of the code\n\n\n",
    "bugtrack_url": null,
    "license": "http://www.opensource.org/licenses/bsd-license.php",
    "summary": "Python Object Wrapper for FileMaker Server XML Interface",
    "version": "0.2.6",
    "project_urls": {
        "Download": "https://github.com/jeremie-borel/pyfilemaker2/",
        "Homepage": "https://github.com/jeremie-borel/pyfilemaker2/"
    },
    "split_keywords": [
        "filemaker"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0c74a554cc2907de21ac6575820f6e8dee2cc449588b26ed9421d28c728d3f43",
                "md5": "7ccf85ef2710dd07e009c75b3545c576",
                "sha256": "6e609b2f8956d7652dde1bfc414874fca1b5b313a114f56a4b111b8ca7c1991c"
            },
            "downloads": -1,
            "filename": "pyfilemaker2-0.2.6.tar.gz",
            "has_sig": false,
            "md5_digest": "7ccf85ef2710dd07e009c75b3545c576",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 30451,
            "upload_time": "2024-05-17T20:17:04",
            "upload_time_iso_8601": "2024-05-17T20:17:04.668374Z",
            "url": "https://files.pythonhosted.org/packages/0c/74/a554cc2907de21ac6575820f6e8dee2cc449588b26ed9421d28c728d3f43/pyfilemaker2-0.2.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-17 20:17:04",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "jeremie-borel",
    "github_project": "pyfilemaker2",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "pyfilemaker2"
}
        
Elapsed time: 0.71796s