===================
 ``zope.location``
===================
.. image:: https://img.shields.io/pypi/v/zope.location.svg
        :target: https://pypi.python.org/pypi/zope.location/
        :alt: Latest release
.. image:: https://img.shields.io/pypi/pyversions/zope.location.svg
        :target: https://pypi.org/project/zope.location/
        :alt: Supported Python versions
.. image:: https://github.com/zopefoundation/zope.location/actions/workflows/tests.yml/badge.svg
        :target: https://github.com/zopefoundation/zope.location/actions/workflows/tests.yml
.. image:: https://coveralls.io/repos/github/zopefoundation/zope.location/badge.svg?branch=master
        :target: https://coveralls.io/github/zopefoundation/zope.location?branch=master
.. image:: https://readthedocs.org/projects/zopelocation/badge/?version=latest
        :target: http://zopelocation.readthedocs.org/en/latest/
        :alt: Documentation Status
In Zope 3, "locations" are special objects, that have a structural
location, indicated with ``__name__`` and ``__parent__`` attributes.
See `zope.container <https://zopecontainer.readthedocs.io/en/latest>`_
for a useful extension of this concept to "containers".
Documentation is hosted at https://zopelocation.readthedocs.io/
=========
 Changes
=========
5.1 (2025-01-31)
================
- Add support for Python 3.12, 3.13.
- Drop support for Python 3.7, 3.8.
- Add tests for minimal dependencies.
- Add ``copy`` extra to include the ``zope.copy`` dependency.
5.0 (2023-05-25)
================
- Drop support for Python 2.7, 3.5, 3.6.
4.3 (2022-11-29)
================
- Add support for Python 3.8, 3.9, 3.10, 3.11.
- Drop support for Python 3.4.
4.2 (2018-10-09)
================
- Add support for Python 3.7.
4.1.0 (2017-08-03)
==================
- Drop support for Python 2.6, 3.2 and 3.3.
- Add a page to the docs on hacking ``zope.location``.
- Note additional documentation dependencies.
- Add support for Python 3.5 and 3.6.
- Remove internal ``_compat`` implementation module.
4.0.3 (2014-03-19)
==================
- Add Python 3.4 support.
- Update ``boostrap.py`` to version 2.2.
4.0.2 (2013-03-11)
==================
- Change the behavior of ``LocationProxy``'s ``__setattr__()`` to correctly
  behave when dealing with the pure Python version of the ``ProxyBase``
  class. Also added a test suite that fully tests the pure Python proxy
  version of the ``LocationProxy`` class.
4.0.1 (2013-02-19)
==================
- Add Python 3.3 support.
4.0.0 (2012-06-07)
==================
- Remove backward-compatibility imports:
  - ``zope.copy.clone`` (aliased as ``zope.location.pickling.locationCopy``)
  - ``zope.copy.CopyPersistent`` (aliased as
    ``zope.location.pickling.CopyPersistent``).
  - ``zope.site.interfaces.IPossibleSite`` (aliased as
    ``zope.location.interfaces.IPossibleSite``).
- Add Python 3.2 support.
- Make ``zope.component`` dependency optional.  Use the ``component`` extra
  to force its installation (or just require it directly).  If
  ``zope.component`` is not present, this package defines the ``ISite``
  interface itself, and omits adapter registrations from its ZCML.
- Add support for PyPy.
- Add support for continuous integration using ``tox`` and ``jenkins``.
- Bring unit test coverage to 100%.
- Add Sphinx documentation:  moved doctest examples to API reference.
- Add 'setup.py docs' alias (installs ``Sphinx`` and dependencies).
- Add 'setup.py dev' alias (runs ``setup.py develop`` plus installs
  ``nose`` and ``coverage``).
- Replace deprecated ``zope.component.adapts`` usage with equivalent
  ``zope.component.adapter`` decorator.
- Replace deprecated ``zope.interface.implements`` usage with equivalent
  ``zope.interface.implementer`` decorator.
- Drop support for Python 2.4 and 2.5.
3.9.1 (2011-08-22)
==================
- Add zcml extra as well as a test for configure.zcml.
3.9.0 (2009-12-29)
==================
- Move LocationCopyHook related tests to zope.copy and remove a test
  dependency on that package.
3.8.2 (2009-12-23)
==================
- Fix a typo in the configure.zcml.
3.8.1 (2009-12-23)
==================
- Remove dependency on zope.copy: the LocationCopyHook adapter is registered
  only if zope.copy is available.
- Use the standard Python doctest module instead of zope.testing.doctest, which
  has been deprecated.
3.8.0 (2009-12-22)
==================
- Adjust to testing output caused by new zope.schema.
3.7.1 (2009-11-18)
==================
- Move the IPossibleSite and ISite interfaces to zope.component as they are
  dealing with zope.component's concept of a site, but not with location.
3.7.0 (2009-09-29)
==================
- Add getParent() to ILocationInfo and moved the actual implementation here
  from zope.traversal.api, analogous to getParents().
- Actually remove deprecated PathPersistent class from
  zope.location.pickling.
- Move ITraverser back to zope.traversing where it belongs conceptually. The
  interface had been moved to zope.location to invert the package
  interdependency but is no longer used here.
3.6.0 (2009-08-27)
==================
- New feature release: deprecate locationCopy, CopyPersistent and
  PathPersistent from zope.location.pickling. These changes were already part
  of the 3.5.3 release, which was erroneously numbered as a bugfix relese.
- Remove dependency on zope.deferredimport, directly import deprecated modules
  without using it.
3.5.5 (2009-08-15)
==================
- Add zope.deferredimport as a dependency as it's used directly by
  zope.location.pickling.
3.5.4 (2009-05-17)
==================
- Add ``IContained`` interface to ``zope.location.interfaces`` module.
  This interface was moved from ``zope.container`` (after
  ``zope.container`` 3.8.2); consumers of ``IContained`` may now
  depend on zope.location rather than zope.container to reduce
  dependency cycles.
3.5.3 (2009-02-09)
==================
- Use new zope.copy package for implementing location copying. Thus
  there's changes in the ``zope.locaton.pickling`` module:
   * The ``locationCopy`` and ``CopyPersistent`` was removed in prefer
     to their equivalents in zope.copy. Deprecated backward-compatibility
     imports provided.
   * The module now provides a ``zope.copy.interfaces.ICopyHook`` adapter
     for ``ILocation`` objects that replaces the old CopyPersistent
     functionality of checking for the need to clone objects based on
     their location.
3.5.2 (2009-02-04)
==================
- Split RootPhysicallyLocatable adapter back from LocationPhysicallyLocatable,
  because the IRoot object may not always provide ILocation and the code
  for the root object is also simplier. It's basically a copy of the
  RootPhysicallyLocatable adapter from zope.traversing version 3.5.0 and
  below with ``getParents`` method added (returns an empty list).
3.5.1 (2009-02-02)
==================
- Improve test coverage.
- The new ``getParents`` method was extracted from ``zope.traversing``
  and added to ILocationInfo interface in the previous release. Custom
  ILocationInfo implementations should make sure they have this method
  as well. That method is already used in ``zope.traversing.api.getParents``
  function.
- Make ``getName`` of LocationPhysicallyLocatable always return empty
  string for the IRoot object, like RootPhysicallyLocatable from
  ``zope.traversing`` did. So, now LocationPhysicallyLocatable is
  fully compatible with RootPhysicallyLocatable, making the latter one
  obsolete.
- Change package mailing list address to zope-dev at zope.org instead
  of retired zope3-dev at zope.org.
3.5.0 (2009-01-31)
==================
- Reverse the dependency between zope.location and zope.traversing. This
  also causes the dependency to various other packages go away.
3.4.0 (2007-10-02)
==================
- Initial release independent of the main Zope tree.
            
         
        Raw data
        
            {
    "_id": null,
    "home_page": "http://github.com/zopefoundation/zope.location/",
    "name": "zope.location",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "zope location structural",
    "author": "Zope Foundation and Contributors",
    "author_email": "zope-dev@zope.dev",
    "download_url": "https://files.pythonhosted.org/packages/26/c8/147142500ece6ab92b586e141b0d04b9f9f76b47178c20309d62bbe72fdc/zope_location-5.1.tar.gz",
    "platform": null,
    "description": "===================\n ``zope.location``\n===================\n\n.. image:: https://img.shields.io/pypi/v/zope.location.svg\n        :target: https://pypi.python.org/pypi/zope.location/\n        :alt: Latest release\n\n.. image:: https://img.shields.io/pypi/pyversions/zope.location.svg\n        :target: https://pypi.org/project/zope.location/\n        :alt: Supported Python versions\n\n.. image:: https://github.com/zopefoundation/zope.location/actions/workflows/tests.yml/badge.svg\n        :target: https://github.com/zopefoundation/zope.location/actions/workflows/tests.yml\n\n.. image:: https://coveralls.io/repos/github/zopefoundation/zope.location/badge.svg?branch=master\n        :target: https://coveralls.io/github/zopefoundation/zope.location?branch=master\n\n.. image:: https://readthedocs.org/projects/zopelocation/badge/?version=latest\n        :target: http://zopelocation.readthedocs.org/en/latest/\n        :alt: Documentation Status\n\nIn Zope 3, \"locations\" are special objects, that have a structural\nlocation, indicated with ``__name__`` and ``__parent__`` attributes.\n\nSee `zope.container <https://zopecontainer.readthedocs.io/en/latest>`_\nfor a useful extension of this concept to \"containers\".\n\nDocumentation is hosted at https://zopelocation.readthedocs.io/\n\n\n=========\n Changes\n=========\n\n5.1 (2025-01-31)\n================\n\n- Add support for Python 3.12, 3.13.\n\n- Drop support for Python 3.7, 3.8.\n\n- Add tests for minimal dependencies.\n\n- Add ``copy`` extra to include the ``zope.copy`` dependency.\n\n5.0 (2023-05-25)\n================\n\n- Drop support for Python 2.7, 3.5, 3.6.\n\n\n4.3 (2022-11-29)\n================\n\n- Add support for Python 3.8, 3.9, 3.10, 3.11.\n\n- Drop support for Python 3.4.\n\n\n4.2 (2018-10-09)\n================\n\n- Add support for Python 3.7.\n\n\n4.1.0 (2017-08-03)\n==================\n\n- Drop support for Python 2.6, 3.2 and 3.3.\n\n- Add a page to the docs on hacking ``zope.location``.\n\n- Note additional documentation dependencies.\n\n- Add support for Python 3.5 and 3.6.\n\n- Remove internal ``_compat`` implementation module.\n\n4.0.3 (2014-03-19)\n==================\n\n- Add Python 3.4 support.\n\n- Update ``boostrap.py`` to version 2.2.\n\n\n4.0.2 (2013-03-11)\n==================\n\n- Change the behavior of ``LocationProxy``'s ``__setattr__()`` to correctly\n  behave when dealing with the pure Python version of the ``ProxyBase``\n  class. Also added a test suite that fully tests the pure Python proxy\n  version of the ``LocationProxy`` class.\n\n\n4.0.1 (2013-02-19)\n==================\n\n- Add Python 3.3 support.\n\n4.0.0 (2012-06-07)\n==================\n\n- Remove backward-compatibility imports:\n\n  - ``zope.copy.clone`` (aliased as ``zope.location.pickling.locationCopy``)\n\n  - ``zope.copy.CopyPersistent`` (aliased as\n    ``zope.location.pickling.CopyPersistent``).\n\n  - ``zope.site.interfaces.IPossibleSite`` (aliased as\n    ``zope.location.interfaces.IPossibleSite``).\n\n- Add Python 3.2 support.\n\n- Make ``zope.component`` dependency optional.  Use the ``component`` extra\n  to force its installation (or just require it directly).  If\n  ``zope.component`` is not present, this package defines the ``ISite``\n  interface itself, and omits adapter registrations from its ZCML.\n\n- Add support for PyPy.\n\n- Add support for continuous integration using ``tox`` and ``jenkins``.\n\n- Bring unit test coverage to 100%.\n\n- Add Sphinx documentation:  moved doctest examples to API reference.\n\n- Add 'setup.py docs' alias (installs ``Sphinx`` and dependencies).\n\n- Add 'setup.py dev' alias (runs ``setup.py develop`` plus installs\n  ``nose`` and ``coverage``).\n\n- Replace deprecated ``zope.component.adapts`` usage with equivalent\n  ``zope.component.adapter`` decorator.\n\n- Replace deprecated ``zope.interface.implements`` usage with equivalent\n  ``zope.interface.implementer`` decorator.\n\n- Drop support for Python 2.4 and 2.5.\n\n\n3.9.1 (2011-08-22)\n==================\n\n- Add zcml extra as well as a test for configure.zcml.\n\n\n3.9.0 (2009-12-29)\n==================\n\n- Move LocationCopyHook related tests to zope.copy and remove a test\n  dependency on that package.\n\n3.8.2 (2009-12-23)\n==================\n\n- Fix a typo in the configure.zcml.\n\n3.8.1 (2009-12-23)\n==================\n\n- Remove dependency on zope.copy: the LocationCopyHook adapter is registered\n  only if zope.copy is available.\n\n- Use the standard Python doctest module instead of zope.testing.doctest, which\n  has been deprecated.\n\n3.8.0 (2009-12-22)\n==================\n\n- Adjust to testing output caused by new zope.schema.\n\n3.7.1 (2009-11-18)\n==================\n\n- Move the IPossibleSite and ISite interfaces to zope.component as they are\n  dealing with zope.component's concept of a site, but not with location.\n\n3.7.0 (2009-09-29)\n==================\n\n- Add getParent() to ILocationInfo and moved the actual implementation here\n  from zope.traversal.api, analogous to getParents().\n\n- Actually remove deprecated PathPersistent class from\n  zope.location.pickling.\n\n- Move ITraverser back to zope.traversing where it belongs conceptually. The\n  interface had been moved to zope.location to invert the package\n  interdependency but is no longer used here.\n\n3.6.0 (2009-08-27)\n==================\n\n- New feature release: deprecate locationCopy, CopyPersistent and\n  PathPersistent from zope.location.pickling. These changes were already part\n  of the 3.5.3 release, which was erroneously numbered as a bugfix relese.\n\n- Remove dependency on zope.deferredimport, directly import deprecated modules\n  without using it.\n\n3.5.5 (2009-08-15)\n==================\n\n- Add zope.deferredimport as a dependency as it's used directly by\n  zope.location.pickling.\n\n3.5.4 (2009-05-17)\n==================\n\n- Add ``IContained`` interface to ``zope.location.interfaces`` module.\n  This interface was moved from ``zope.container`` (after\n  ``zope.container`` 3.8.2); consumers of ``IContained`` may now\n  depend on zope.location rather than zope.container to reduce\n  dependency cycles.\n\n3.5.3 (2009-02-09)\n==================\n\n- Use new zope.copy package for implementing location copying. Thus\n  there's changes in the ``zope.locaton.pickling`` module:\n\n   * The ``locationCopy`` and ``CopyPersistent`` was removed in prefer\n     to their equivalents in zope.copy. Deprecated backward-compatibility\n     imports provided.\n\n   * The module now provides a ``zope.copy.interfaces.ICopyHook`` adapter\n     for ``ILocation`` objects that replaces the old CopyPersistent\n     functionality of checking for the need to clone objects based on\n     their location.\n\n3.5.2 (2009-02-04)\n==================\n\n- Split RootPhysicallyLocatable adapter back from LocationPhysicallyLocatable,\n  because the IRoot object may not always provide ILocation and the code\n  for the root object is also simplier. It's basically a copy of the\n  RootPhysicallyLocatable adapter from zope.traversing version 3.5.0 and\n  below with ``getParents`` method added (returns an empty list).\n\n3.5.1 (2009-02-02)\n==================\n\n- Improve test coverage.\n\n- The new ``getParents`` method was extracted from ``zope.traversing``\n  and added to ILocationInfo interface in the previous release. Custom\n  ILocationInfo implementations should make sure they have this method\n  as well. That method is already used in ``zope.traversing.api.getParents``\n  function.\n\n- Make ``getName`` of LocationPhysicallyLocatable always return empty\n  string for the IRoot object, like RootPhysicallyLocatable from\n  ``zope.traversing`` did. So, now LocationPhysicallyLocatable is\n  fully compatible with RootPhysicallyLocatable, making the latter one\n  obsolete.\n\n- Change package mailing list address to zope-dev at zope.org instead\n  of retired zope3-dev at zope.org.\n\n3.5.0 (2009-01-31)\n==================\n\n- Reverse the dependency between zope.location and zope.traversing. This\n  also causes the dependency to various other packages go away.\n\n3.4.0 (2007-10-02)\n==================\n\n- Initial release independent of the main Zope tree.\n",
    "bugtrack_url": null,
    "license": "ZPL-2.1",
    "summary": "Zope Location",
    "version": "5.1",
    "project_urls": {
        "Homepage": "http://github.com/zopefoundation/zope.location/"
    },
    "split_keywords": [
        "zope",
        "location",
        "structural"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "453efcbb944ec263a1609034aaa6244ae75e1d5cff08c5dc7374e896eee233da",
                "md5": "73aa484e917c3b81ee1e39ce767d1772",
                "sha256": "e67aaba85d108a9e2228f01fa2aced55325a3a26c28a3ab6c03c8281708aef20"
            },
            "downloads": -1,
            "filename": "zope.location-5.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "73aa484e917c3b81ee1e39ce767d1772",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 19557,
            "upload_time": "2025-01-31T07:30:29",
            "upload_time_iso_8601": "2025-01-31T07:30:29.655622Z",
            "url": "https://files.pythonhosted.org/packages/45/3e/fcbb944ec263a1609034aaa6244ae75e1d5cff08c5dc7374e896eee233da/zope.location-5.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "26c8147142500ece6ab92b586e141b0d04b9f9f76b47178c20309d62bbe72fdc",
                "md5": "9f25225ed1cd679f5521fc83140b9537",
                "sha256": "e4e01d4ef46253a8e07fd59dcbd7bb0b81819bffe5d0dc2d5843bc201afa4ad9"
            },
            "downloads": -1,
            "filename": "zope_location-5.1.tar.gz",
            "has_sig": false,
            "md5_digest": "9f25225ed1cd679f5521fc83140b9537",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 30516,
            "upload_time": "2025-01-31T07:30:31",
            "upload_time_iso_8601": "2025-01-31T07:30:31.438051Z",
            "url": "https://files.pythonhosted.org/packages/26/c8/147142500ece6ab92b586e141b0d04b9f9f76b47178c20309d62bbe72fdc/zope_location-5.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-31 07:30:31",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "zopefoundation",
    "github_project": "zope.location",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "zope.location"
}