Commit 4f4102fa authored by sblondon's avatar sblondon Committed by GitHub

Merge pull request #304 from sblondon/update_to_pypi.org

Update package links from pypi.python.org to pypi.org
parents d8b19255 ce000346
...@@ -238,7 +238,7 @@ New Features ...@@ -238,7 +238,7 @@ New Features
- The mkzeoinst script has been moved to a separate project: - The mkzeoinst script has been moved to a separate project:
http://pypi.python.org/pypi/zope.mkzeoinstance https://pypi.org/project/zope.mkzeoinstance/
and is no-longer included with ZODB. and is no-longer included with ZODB.
......
...@@ -3,7 +3,7 @@ ZODB, a Python object-oriented database ...@@ -3,7 +3,7 @@ ZODB, a Python object-oriented database
======================================= =======================================
.. image:: https://img.shields.io/pypi/v/ZODB.svg .. image:: https://img.shields.io/pypi/v/ZODB.svg
:target: https://pypi.python.org/pypi/ZODB/ :target: https://pypi.org/project/ZODB/
:alt: Latest release :alt: Latest release
.. image:: https://img.shields.io/pypi/pyversions/ZODB.svg .. image:: https://img.shields.io/pypi/pyversions/ZODB.svg
......
...@@ -56,15 +56,15 @@ ordering. ...@@ -56,15 +56,15 @@ ordering.
The hot points for ConflictErrors are the catalogue indexes. Some of the The hot points for ConflictErrors are the catalogue indexes. Some of the
indexes do not support conflict resolution and you will see ConflictErrors indexes do not support conflict resolution and you will see ConflictErrors
under write-intensive loads. On solution is to defer catalogue updates using under write-intensive loads. On solution is to defer catalogue updates using
`QueueCatalog <http://pypi.python.org/pypi/Products.QueueCatalog>`_ `QueueCatalog <https://pypi.org/project/Products.QueueCatalog/>`_
(`PloneQueueCatalog (`PloneQueueCatalog
<http://pypi.python.org/pypi/Products.PloneQueueCatalog>`_), which allows <https://pypi.org/project/Products.PloneQueueCatalog/>`_), which allows
indexing operations to be serialized using a seperate ZEO client. This can indexing operations to be serialized using a seperate ZEO client. This can
bring big performance benefits as request retries are reduced, but the bring big performance benefits as request retries are reduced, but the
downside is that index updates are no longer reflected immediately in the downside is that index updates are no longer reflected immediately in the
application. Another alternative is to offload text indexing to a dedicated application. Another alternative is to offload text indexing to a dedicated
search engine using `collective.solr search engine using `collective.solr
<http://pypi.python.org/pypi/collective.solr>`_. <https://pypi.org/project/collective.solr/>`_.
This brings us to **Atomicity**, the other key feature of ZODB transactions. A This brings us to **Atomicity**, the other key feature of ZODB transactions. A
transaction will either succeed or fail, your data is never left in an transaction will either succeed or fail, your data is never left in an
...@@ -76,7 +76,7 @@ ConflictError occurs Zope will attempt to replay a transaction up to three ...@@ -76,7 +76,7 @@ ConflictError occurs Zope will attempt to replay a transaction up to three
times. Interactions with an external system should be made through a Data times. Interactions with an external system should be made through a Data
Manager that participates in the transaction. If you’re talking to a database Manager that participates in the transaction. If you’re talking to a database
use a Zope DA or a SQLAlchemy wrapper like `zope.sqlalchemy use a Zope DA or a SQLAlchemy wrapper like `zope.sqlalchemy
<http://pypi.python.org/pypi/zope.sqlalchemy>`_. <https://pypi.org/project/zope.sqlalchemy/>`_.
Unfortunately the default MailHost implementation used by Plone is not Unfortunately the default MailHost implementation used by Plone is not
transaction aware. With it you can see duplicate emails sent. If this is a transaction aware. With it you can see duplicate emails sent. If this is a
...@@ -115,7 +115,7 @@ file per object revision. Does not require the Data.fs.index to be rebuilt on ...@@ -115,7 +115,7 @@ file per object revision. Does not require the Data.fs.index to be rebuilt on
an unclean shutdown (which can take a significant time for a large database). an unclean shutdown (which can take a significant time for a large database).
Small number of users. Small number of users.
**RelStorage** (`pypi <http://pypi.python.org/pypi/RelStorage>`_) stores **RelStorage** (`pypi <https://pypi.org/project/RelStorage/>`_) stores
pickles in a relational database. PostgreSQL, MySQL and Oracle are supported pickles in a relational database. PostgreSQL, MySQL and Oracle are supported
and no ZEO server is required. You benefit from the faster network layers of and no ZEO server is required. You benefit from the faster network layers of
these database adapters. However, conflict resolution is moved to the these database adapters. However, conflict resolution is moved to the
......
...@@ -3,7 +3,7 @@ Using zc.zodbdgc (fix PosKeyError's) ...@@ -3,7 +3,7 @@ Using zc.zodbdgc (fix PosKeyError's)
*This article was written by Hanno Schlichting* *This article was written by Hanno Schlichting*
The `zc.zodbdgc <http://pypi.python.org/pypi/zc.zodbdgc>`_ library contains two The `zc.zodbdgc <https://pypi.org/project/zc.zodbdgc/>`_ library contains two
useful features. On the one hand it supports advanced ZODB packing and garbage useful features. On the one hand it supports advanced ZODB packing and garbage
collection approaches and on the other hand it includes the ability to create a collection approaches and on the other hand it includes the ability to create a
database of all persistent references. database of all persistent references.
...@@ -18,7 +18,7 @@ persistent object(s) that point to the lost object. ...@@ -18,7 +18,7 @@ persistent object(s) that point to the lost object.
.. note:: .. note::
Unless you're using multi-databases, this documentation does not apply to Unless you're using multi-databases, this documentation does not apply to
`RelStorage <http://pypi.python.org/pypi/RelStorage>`_ which has the same `RelStorage <https://pypi.org/project/RelStorage/>`_ which has the same
features built-in, but accessible in different ways. Look at the options for features built-in, but accessible in different ways. Look at the options for
the ``zodbpack`` script. The ``--prepack`` option creates a table containing the the ``zodbpack`` script. The ``--prepack`` option creates a table containing the
same information as we are creating in the reference database. same information as we are creating in the reference database.
......
...@@ -14,8 +14,8 @@ packaging system. For example, using pip:: ...@@ -14,8 +14,8 @@ packaging system. For example, using pip::
pip install ZODB pip install ZODB
You may need additional optional packages, such as `ZEO You may need additional optional packages, such as `ZEO
<https://pypi.python.org/pypi/ZEO>`_ or `RelStorage <https://pypi.org/project/ZEO/>`_ or `RelStorage
<https://pypi.python.org/pypi/RelStorage>`_, depending your deployment <https://pypi.org/project/RelStorage/>`_, depending your deployment
choices. choices.
Configuration Configuration
...@@ -53,7 +53,7 @@ we want to save space, we could layer a ``ZlibStorage`` ...@@ -53,7 +53,7 @@ we want to save space, we could layer a ``ZlibStorage``
compressed_storage = zc.zlibstorage.ZlibStorage(storage) compressed_storage = zc.zlibstorage.ZlibStorage(storage)
db = ZODB.DB(compressed_storage) db = ZODB.DB(compressed_storage)
`ZlibStorage <https://pypi.python.org/pypi/zc.zlibstorage>`_ `ZlibStorage <https://pypi.org/project/zc.zlibstorage/>`_
compresses database records [#zlib]_. compresses database records [#zlib]_.
Python configuration Python configuration
...@@ -80,7 +80,7 @@ similar to Apache configuration files. The syntax was chosen to be ...@@ -80,7 +80,7 @@ similar to Apache configuration files. The syntax was chosen to be
familiar to site administrators. familiar to site administrators.
ZODB's text configuration uses `ZConfig ZODB's text configuration uses `ZConfig
<https://pypi.python.org/pypi/ZConfig>`_. You can use ZConfig to <https://pypi.org/project/ZConfig/>`_. You can use ZConfig to
create your application's configuration, but it's more common to create your application's configuration, but it's more common to
include ZODB configuration strings in their own files or embedded in include ZODB configuration strings in their own files or embedded in
simpler configuration files, such as `configarser simpler configuration files, such as `configarser
...@@ -115,7 +115,7 @@ URI-based configuration ...@@ -115,7 +115,7 @@ URI-based configuration
----------------------- -----------------------
Another database configuration option is provided by the `zodburi Another database configuration option is provided by the `zodburi
<https://pypi.python.org/pypi/zodburi>`_ package. See: <https://pypi.org/project/zodburi/>`_ package. See:
http://docs.pylonsproject.org/projects/zodburi. It's less powerful http://docs.pylonsproject.org/projects/zodburi. It's less powerful
than the Python or text configuration options, but allows than the Python or text configuration options, but allows
configuration to be reduced to a single URI and handles most cases. configuration to be reduced to a single URI and handles most cases.
...@@ -205,7 +205,7 @@ need. Often indexing data structures like BTrees_ are used to ...@@ -205,7 +205,7 @@ need. Often indexing data structures like BTrees_ are used to
make it possible to search objects in large collections. make it possible to search objects in large collections.
.. [#zlibstoragefn] `zc.zlibstorage .. [#zlibstoragefn] `zc.zlibstorage
<https://pypi.python.org/pypi/zc.zlibstorage>`_ is an optional <https://pypi.org/project/zc.zlibstorage/>`_ is an optional
package that you need to install separately. package that you need to install separately.
.. [#zlib] ZlibStorage uses the :mod:`zlib` standard module, which .. [#zlib] ZlibStorage uses the :mod:`zlib` standard module, which
......
...@@ -305,7 +305,7 @@ Which is shorter and simpler [#but-obscure]_. ...@@ -305,7 +305,7 @@ Which is shorter and simpler [#but-obscure]_.
For Python web frameworks, there are WSGI [#wtf-wsgi]_ middle-ware For Python web frameworks, there are WSGI [#wtf-wsgi]_ middle-ware
components, such as `repoze.tm2 components, such as `repoze.tm2
<https://pypi.python.org/pypi/repoze.tm2>`_ that align transaction <https://pypi.org/project/repoze.tm2/>`_ that align transaction
boundaries with HTTP requests and retry transactions when there are boundaries with HTTP requests and retry transactions when there are
transient errors. transient errors.
......
...@@ -220,12 +220,12 @@ entries in a ``TreeSet``, they must provide a `total ordering ...@@ -220,12 +220,12 @@ entries in a ``TreeSet``, they must provide a `total ordering
<https://pythonhosted.org/BTrees/#total-ordering-and-persistence>`_. <https://pythonhosted.org/BTrees/#total-ordering-and-persistence>`_.
The builtin python `str` class is always safe to use as BTree key. You The builtin python `str` class is always safe to use as BTree key. You
can use `zope.keyreference can use `zope.keyreference
<https://pypi.python.org/pypi/zope.keyreference>`_ to treat arbitrary <https://pypi.org/project/zope.keyreference/>`_ to treat arbitrary
persistent objects as totally orderable based on their persistent persistent objects as totally orderable based on their persistent
object identity. object identity.
Scalable sequences are a bit more challenging. The `zc.blist Scalable sequences are a bit more challenging. The `zc.blist
<https://pypi.python.org/pypi/zc.blist/>`_ package provides a scalable <https://pypi.org/project/zc.blist/>`_ package provides a scalable
list implementation that works well for some sequence use cases. list implementation that works well for some sequence use cases.
Properties Properties
...@@ -374,7 +374,7 @@ these are usually impractical for large databases.) ...@@ -374,7 +374,7 @@ these are usually impractical for large databases.)
An improvement to running migration scripts manually is to use a An improvement to running migration scripts manually is to use a
generational framework like `zope.generations generational framework like `zope.generations
<https://pypi.python.org/pypi/zope.generations>`_. With a generational <https://pypi.org/project/zope.generations/>`_. With a generational
framework, each migration is assigned a migration number and the framework, each migration is assigned a migration number and the
number is recorded in the database as each migration is run. This is number is recorded in the database as each migration is run. This is
useful because remembering what migrations are needed is automated. useful because remembering what migrations are needed is automated.
...@@ -681,11 +681,11 @@ Links ...@@ -681,11 +681,11 @@ Links
<http://persistent.readthedocs.io/en/latest/index.html>`_ provides <http://persistent.readthedocs.io/en/latest/index.html>`_ provides
additional documentation on the ``Persistent`` base class. additional documentation on the ``Persistent`` base class.
The `zc.blist <https://pypi.python.org/pypi/zc.blist/>`_ package provides The `zc.blist <https://pypi.org/project/zc.blist/>`_ package provides
a scalable sequence implementation for many use cases. a scalable sequence implementation for many use cases.
The `zope.cachedescriptors The `zope.cachedescriptors
<https://pypi.python.org/pypi/zope.cachedescriptors>`_ package <https://pypi.org/project/zope.cachedescriptors/>`_ package
provides descriptor implementations that facilitate implementing provides descriptor implementations that facilitate implementing
caching attributes, especially ``_v_`` volatile attributes. caching attributes, especially ``_v_`` volatile attributes.
...@@ -696,12 +696,12 @@ location, which is helpful when moving classes, especially persistent ...@@ -696,12 +696,12 @@ location, which is helpful when moving classes, especially persistent
classes. classes.
The `zope.generations The `zope.generations
<https://pypi.python.org/pypi/zope.generations>`_ package provides a <https://pypi.org/project/zope.generations/>`_ package provides a
framework for managing schema-migration scripts. framework for managing schema-migration scripts.
.. [#cache] The `zope.cachedescriptors .. [#cache] The `zope.cachedescriptors
<https://pypi.python.org/pypi/zope.cachedescriptors>`_ package <https://pypi.org/project/zope.cachedescriptors/>`_ package
provides some descriptors that help implement attributes that cache provides some descriptors that help implement attributes that cache
data. data.
......
...@@ -48,7 +48,7 @@ Downloads ...@@ -48,7 +48,7 @@ Downloads
========= =========
ZODB is distributed through the `Python Package Index ZODB is distributed through the `Python Package Index
<http://pypi.python.org/pypi/ZODB>`_. <https://pypi.org/project/ZODB/>`_.
You can install the ZODB using pip command:: You can install the ZODB using pip command::
......
...@@ -192,24 +192,24 @@ ZRS ...@@ -192,24 +192,24 @@ ZRS
For more information, see https://github.com/zc/zrs. For more information, see https://github.com/zc/zrs.
zlibstorage zlibstorage
`zlibstorage <https://pypi.python.org/pypi/zc.zlibstorage>`_ `zlibstorage <https://pypi.org/project/zc.zlibstorage/>`_
compresses database records using the compression compresses database records using the compression
algorithm used by `gzip <http://www.gzip.org/>`_. algorithm used by `gzip <http://www.gzip.org/>`_.
For more information, see https://pypi.python.org/pypi/zc.zlibstorage. For more information, see https://pypi.org/project/zc.zlibstorage/.
beforestorage beforestorage
`beforestorage <https://pypi.python.org/pypi/zc.beforestorage>`_ `beforestorage <https://pypi.org/project/zc.beforestorage/>`_
provides a point-in-time view of a database that might provides a point-in-time view of a database that might
be changing. This can be useful to provide a non-changing view of a be changing. This can be useful to provide a non-changing view of a
production database for use with a :class:`~ZODB.DemoStorage.DemoStorage`. production database for use with a :class:`~ZODB.DemoStorage.DemoStorage`.
For more information, see https://pypi.python.org/pypi/zc.beforestorage. For more information, see https://pypi.org/project/zc.beforestorage/.
cipher.encryptingstorage cipher.encryptingstorage
`cipher.encryptingstorage `cipher.encryptingstorage
<https://pypi.python.org/pypi/cipher.encryptingstorage/>`_ provided <https://pypi.org/project/cipher.encryptingstorage/>`_ provided
compression and encryption of database records. compression and encryption of database records.
For more information, see For more information, see
https://pypi.python.org/pypi/cipher.encryptingstorage/. https://pypi.org/project/cipher.encryptingstorage/.
...@@ -52,7 +52,7 @@ class DemoStorage(ConflictResolvingStorage): ...@@ -52,7 +52,7 @@ class DemoStorage(ConflictResolvingStorage):
Demo storages are also handy for staging appplications where a Demo storages are also handy for staging appplications where a
read-only snapshot of a production database (often accomplished read-only snapshot of a production database (often accomplished
using a `beforestorage using a `beforestorage
<https://pypi.python.org/pypi/zc.beforestorage>`_) is combined <https://pypi.org/project/zc.beforestorage/>`_) is combined
with a changes database implemented with a with a changes database implemented with a
:class:`~ZODB.FileStorage.FileStorage.FileStorage`. :class:`~ZODB.FileStorage.FileStorage.FileStorage`.
""" """
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment