{ "info": { "author": "Jelmer Vernooij", "author_email": "jelmer@jelmer.uk", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Operating System :: POSIX", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": ".. image:: https://travis-ci.org/jelmer/xandikos.png?branch=master\n :target: https://travis-ci.org/jelmer/xandikos\n :alt: Build Status\n\n.. image:: https://ci.appveyor.com/api/projects/status/fjqtsk8agwmwavqk/branch/master?svg=true\n :target: https://ci.appveyor.com/project/jelmer/xandikos/branch/master\n :alt: Windows Build Status\n\n\nXandikos is a lightweight yet complete CardDAV/CalDAV server that backs onto a Git repository.\n\nXandikos (\u039e\u03b1\u03bd\u03b4\u03b9\u03ba\u03cc\u03c2 or \u039e\u03b1\u03bd\u03b8\u03b9\u03ba\u03cc\u03c2) takes its name from the name of the March month\nin the ancient Macedonian calendar, used in Macedon in the first millennium BC.\n\nImplemented standards\n=====================\n\nThe following standards are implemented:\n\n- :RFC:`4918`/:RFC:`2518` (Core WebDAV) - *implemented, except for COPY/MOVE/LOCK operations*\n- :RFC:`4791` (CalDAV) - *fully implemented*\n- :RFC:`6352` (CardDAV) - *fully implemented*\n- :RFC:`5397` (Current Principal) - *fully implemented*\n- :RFC:`3253` (Versioning Extensions) - *partially implemented, only the REPORT method and {DAV:}expand-property property*\n- :RFC:`3744` (Access Control) - *partially implemented*\n- :RFC:`5995` (POST to create members) - *fully implemented*\n- :RFC:`5689` (Extended MKCOL) - *fully implemented*\n\nThe following standards are not implemented:\n\n- :RFC:`6638` (CalDAV Scheduling Extensions) - *not implemented*\n- :RFC:`7809` (CalDAV Time Zone Extensions) - *not implemented*\n- :RFC:`7529` (WebDAV Quota) - *not implemented*\n- :RFC:`4709` (WebDAV Mount) - `intentionally `_ *not implemented*\n- :RFC:`5546` (iCal iTIP) - *not implemented*\n- :RFC:`4324` (iCAL CAP) - *not implemented*\n- :RFC:`7953` (iCal AVAILABILITY) - *not implemented*\n\nSee `DAV compliance `_ for more detail on specification compliancy.\n\nLimitations\n-----------\n\n- No multi-user support\n- No support for CalDAV scheduling extensions\n\nSupported clients\n=================\n\nXandikos has been tested and works with the following CalDAV/CardDAV clients:\n\n- `Vdirsyncer `_\n- `caldavzap `_/`carddavmate `_\n- `evolution `_\n- `DAVx5 `_ (formerly DAVDroid)\n- `sogo connector for Icedove/Thunderbird `_\n- `aCALdav syncer for Android `_\n- `pycardsyncer `_\n- `akonadi `_\n- `CalDAV-Sync `_\n- `CardDAV-Sync `_\n- `Calendarsync `_\n- `Tasks `_\n- `AgendaV `_\n- `CardBook `_\n- Apple's iOS\n\nDependencies\n============\n\nAt the moment, Xandikos supports Python 3.4 and higher as well as Pypy 3. It\nalso uses `Dulwich `_,\n`Jinja2 `_,\n`icalendar `_, and\n`defusedxml `_.\n\nE.g. to install those dependencies on Debian:\n\n.. code:: shell\n\n sudo apt install python3-dulwich python3-defusedxml python3-icalendar python3-jinja2\n\nOr to install them using pip:\n\n.. code:: shell\n\n python setup.py develop\n\nDocker\n------\n\nA Dockerfile is also provided; see the comments on the top of the file for\nconfiguration instructions.\n\nRunning\n=======\n\nTesting\n-------\n\nTo run a standalone (low-performance, no authentication) instance of Xandikos,\nwith a pre-created calendar and addressbook (storing data in *$HOME/dav*):\n\n.. code:: shell\n\n ./bin/xandikos --defaults -d $HOME/dav\n\nA server should now be listening on `localhost:8080 `_.\n\nNote that Xandikos does not create any collections unless --defaults is\nspecified. You can also either create collections from your CalDAV/CardDAV client,\nor by creating git repositories under the *contacts* or *calendars* directories\nit has created.\n\nProduction\n----------\n\nThe easiest way to run Xandikos in production is using\n`uWSGI `_.\n\nOne option is to setup uWSGI with a server like\n`Apache `_,\n`Nginx `_ or another web\nserver that can authenticate users and forward authorized requests to\nXandikos in uWSGI. See `examples/uwsgi.ini `_ for an\nexample uWSGI configuration.\n\nAlternatively, you can run uWSGI standalone and have it authenticate and\ndirectly serve HTTP traffic. An example configuration for this can be found in\n`examples/uwsgi-standalone.ini `_.\n\nThis will start a server on `localhost:8080 `_ with username *user1* and password\n*password1*.\n\n.. code:: shell\n\n mkdir -p $HOME/dav\n uwsgi examples/uwsgi-standalone.ini\n\nClient instructions\n===================\n\nSome clients can automatically discover the calendars and addressbook URLs from\na DAV server (if they support RFC:`5397`). For such clients you can simply\nprovide the base URL to Xandikos during setup.\n\nClients that lack such automated discovery (e.g. Thunderbird Lightning) require\nthe direct URL to a calendar or addressbook. In this case you\nshould provide the full URL to the calendar or addressbook; if you initialized\nXandikos using the ``--defaults`` argument mentioned in the previous section,\nthese URLs will look something like this::\n\n http://dav.example.com/user/calendars/calendar\n\n http://dav.example.com/user/contacts/addressbook\n\n\nContributing\n============\n\nContributions to Xandikos are very welcome. If you run into bugs or have\nfeature requests, please file issues `on GitHub\n`_. If you're interested in\ncontributing code or documentation, please read `CONTRIBUTING\n`_. Issues that are good for new contributors are tagged\n`new-contributor `_\non GitHub.\n\nHelp\n====\n\nThere is a *#xandikos* IRC channel on the `Freenode `_\nIRC network, and a `Xandikos `_\nmailing list.", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://www.xandikos.org/", "keywords": "", "license": "GNU GPLv3 or later", "maintainer": "", "maintainer_email": "", "name": "xandikos", "package_url": "https://pypi.org/project/xandikos/", "platform": "", "project_url": "https://pypi.org/project/xandikos/", "project_urls": { "Homepage": "https://www.xandikos.org/" }, "release_url": "https://pypi.org/project/xandikos/0.1.0/", "requires_dist": null, "requires_python": "", "summary": "Lightweight CalDAV/CardDAV server", "version": "0.1.0" }, "last_serial": 5109914, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "352ecaf901f58b6734d663d7a80b75bb", "sha256": "67984e47bf998b0cd1775c6b390c325b0ad8de2c89c4f44d8708a4a5e3b85371" }, "downloads": -1, "filename": "xandikos-0.0.1.tar.gz", "has_sig": true, "md5_digest": "352ecaf901f58b6734d663d7a80b75bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22477, "upload_time": "2017-02-06T20:27:14", "url": "https://files.pythonhosted.org/packages/f3/ce/ad7c1ff6538fe9bd1a31f742ae07053245ba8f2fa0d5ac4e3d2fbdce444a/xandikos-0.0.1.tar.gz" } ], "0.0.10": [ { "comment_text": "", "digests": { "md5": "dcf3502c964d4a070ed415db9e8f9bc0", "sha256": "c1963de732fe98a8a63bab7105859ce001a3baa150dd9e5d94ad7e852a06f89a" }, "downloads": -1, "filename": "xandikos-0.0.10.tar.gz", "has_sig": true, "md5_digest": "dcf3502c964d4a070ed415db9e8f9bc0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 82576, "upload_time": "2018-10-31T02:21:07", "url": "https://files.pythonhosted.org/packages/e4/39/7f4e7ad175f1468ed128799ddb759d4d1048bd54dbcdb02940678d169910/xandikos-0.0.10.tar.gz" } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "a7450ddda4fcf40f6ceef20a4bfeddfa", "sha256": "3c09900e8a84d2562b779ee9f2c7616eff54e68c6c65879e4dd403e7302577d3" }, "downloads": -1, "filename": "xandikos-0.0.11.tar.gz", "has_sig": true, "md5_digest": "a7450ddda4fcf40f6ceef20a4bfeddfa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 82654, "upload_time": "2018-11-14T00:41:46", "url": "https://files.pythonhosted.org/packages/65/6b/1f6b5c35aa896f7b6f9174a7909f8d30134e489841b9813289c1061880bb/xandikos-0.0.11.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "e32489d29605d0abc484f7ea4897e0fe", "sha256": "a946f51f1c999ecf943cf5c64c1e91e9ee5dfff5ced60114fcec842938d5d9c4" }, "downloads": -1, "filename": "xandikos-0.0.2.tar.gz", "has_sig": true, "md5_digest": "e32489d29605d0abc484f7ea4897e0fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30048, "upload_time": "2017-03-14T20:57:19", "url": "https://files.pythonhosted.org/packages/c6/94/132fe364c875088c7ee1c7da6a43937f80848faf17261437690c6716af0c/xandikos-0.0.2.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "fea4709b26bc509005dee3cdb39af548", "sha256": "28068964dccb7b11c4d1b26a42de1592901475856d60c3691f1f2edc33146ca7" }, "downloads": -1, "filename": "xandikos-0.0.4.tar.gz", "has_sig": true, "md5_digest": "fea4709b26bc509005dee3cdb39af548", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 66650, "upload_time": "2017-04-23T12:50:27", "url": "https://files.pythonhosted.org/packages/3f/fd/88da96ac2a028c2452d8542e6667b12c9732a681bc23d1f83b9495bcdef6/xandikos-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "334184f3861a4053f25591fb185bef9b", "sha256": "5c298443e258e3652e2390ab2b26600f74210dae6bfcf9e8b3c52ee47b4ab471" }, "downloads": -1, "filename": "xandikos-0.0.5.tar.gz", "has_sig": true, "md5_digest": "334184f3861a4053f25591fb185bef9b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 68955, "upload_time": "2017-06-24T12:54:22", "url": "https://files.pythonhosted.org/packages/8b/d0/f27b0f8a5c647ad173dfd5cc359dc138c4289dcc8de2f87366c9796626d8/xandikos-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "75f6007ea170f433133ea613a1c43177", "sha256": "f4765a4f67ed5f047ff079fd82e44cb97cbeb35d1a17f05c18d2971ea5f632d1" }, "downloads": -1, "filename": "xandikos-0.0.6.tar.gz", "has_sig": true, "md5_digest": "75f6007ea170f433133ea613a1c43177", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 70089, "upload_time": "2017-07-13T22:16:36", "url": "https://files.pythonhosted.org/packages/d3/68/fcfdb9ec851013171e4b9dc74e65c3a767c68f2d3422930fc1ba7a312301/xandikos-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "59d06d75f566bfb365100323954f5f6b", "sha256": "504a9356dd978fadc14879c31c34a4abebe2d99470cb4dcf415ef4fec6192203" }, "downloads": -1, "filename": "xandikos-0.0.7.tar.gz", "has_sig": true, "md5_digest": "59d06d75f566bfb365100323954f5f6b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 79192, "upload_time": "2018-04-02T12:05:35", "url": "https://files.pythonhosted.org/packages/fd/a1/811a84b57e265f2cb22f49c36f7e6dcb9dff354c8a6e036235a1e338a9ac/xandikos-0.0.7.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "382e4ae795440157b439581a7130b3a3", "sha256": "6eaf641292f04aef81117fef89daa6e963fd8d9506da082dde0dfcb006557519" }, "downloads": -1, "filename": "xandikos-0.0.9.tar.gz", "has_sig": true, "md5_digest": "382e4ae795440157b439581a7130b3a3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 79266, "upload_time": "2018-04-07T13:27:12", "url": "https://files.pythonhosted.org/packages/49/8f/a09b231b0b0e38aa689238e00e0b917ee7f0142e605c35c7f6dd6514d6f0/xandikos-0.0.9.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "a9188c62d1ff0279b17aaa2cafe64254", "sha256": "1b2f75d8c49ef4bd0d28a90175f6e99740876c429e6892aa96dc2e0b540a254e" }, "downloads": -1, "filename": "xandikos-0.1.0.tar.gz", "has_sig": true, "md5_digest": "a9188c62d1ff0279b17aaa2cafe64254", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 94780, "upload_time": "2019-04-07T13:04:40", "url": "https://files.pythonhosted.org/packages/22/a8/10e72662ccf813a66efb2d8e13148cbb9758aa356ad96f9a92dba0df8d46/xandikos-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a9188c62d1ff0279b17aaa2cafe64254", "sha256": "1b2f75d8c49ef4bd0d28a90175f6e99740876c429e6892aa96dc2e0b540a254e" }, "downloads": -1, "filename": "xandikos-0.1.0.tar.gz", "has_sig": true, "md5_digest": "a9188c62d1ff0279b17aaa2cafe64254", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 94780, "upload_time": "2019-04-07T13:04:40", "url": "https://files.pythonhosted.org/packages/22/a8/10e72662ccf813a66efb2d8e13148cbb9758aa356ad96f9a92dba0df8d46/xandikos-0.1.0.tar.gz" } ] }