Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Z
ZODB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
ZODB
Commits
ce000346
Commit
ce000346
authored
Mar 26, 2020
by
Stéphane Blondon
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update package links from pypi.python.org to pypi.org
parent
d8b19255
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
31 additions
and
31 deletions
+31
-31
HISTORY.rst
HISTORY.rst
+1
-1
README.rst
README.rst
+1
-1
doc/articles/ZODB-overview.rst
doc/articles/ZODB-overview.rst
+5
-5
doc/articles/multi-zodb-gc.rst
doc/articles/multi-zodb-gc.rst
+2
-2
doc/guide/install-and-run.rst
doc/guide/install-and-run.rst
+6
-6
doc/guide/transactions-and-threading.rst
doc/guide/transactions-and-threading.rst
+1
-1
doc/guide/writing-persistent-objects.rst
doc/guide/writing-persistent-objects.rst
+7
-7
doc/index.rst
doc/index.rst
+1
-1
doc/reference/storages.rst
doc/reference/storages.rst
+6
-6
src/ZODB/DemoStorage.py
src/ZODB/DemoStorage.py
+1
-1
No files found.
HISTORY.rst
View file @
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
http
s://pypi.org/project/zope.mkzeoinstance/
and is no-longer included with ZODB.
and is no-longer included with ZODB.
...
...
README.rst
View file @
ce000346
...
@@ -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
...
...
doc/articles/ZODB-overview.rst
View file @
ce000346
...
@@ -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 <http
s://pypi.org/project/Products.QueueCatalog/
>`_
(`PloneQueueCatalog
(`PloneQueueCatalog
<http
://pypi.python.org/pypi/Products.PloneQueueCatalog
>`_), which allows
<http
s://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
>`_.
<http
s://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
>`_.
<http
s://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 <http
s://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
...
...
doc/articles/multi-zodb-gc.rst
View file @
ce000346
...
@@ -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 <http
s://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 <http
s://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.
...
...
doc/guide/install-and-run.rst
View file @
ce000346
...
@@ -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
...
...
doc/guide/transactions-and-threading.rst
View file @
ce000346
...
@@ -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.
...
...
doc/guide/writing-persistent-objects.rst
View file @
ce000346
...
@@ -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
.
...
...
doc/index.rst
View file @
ce000346
...
@@ -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
>`_.
<http
s://pypi.org/project/ZODB/
>`_.
You can install the ZODB using pip command::
You can install the ZODB using pip command::
...
...
doc/reference/storages.rst
View file @
ce000346
...
@@ -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/.
src/ZODB/DemoStorage.py
View file @
ce000346
...
@@ -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`.
"""
"""
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment