ZODB | Python object-oriented database | Database library

 by   zopefoundation Python Version: 5.8.0 License: Non-SPDX

kandi X-RAY | ZODB Summary

kandi X-RAY | ZODB Summary

ZODB is a Python library typically used in Database applications. ZODB has no bugs, it has build file available and it has low support. However ZODB has 4 vulnerabilities and it has a Non-SPDX License. You can download it from GitHub.

Python object-oriented database
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              ZODB has a low active ecosystem.
              It has 595 star(s) with 85 fork(s). There are 101 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              There are 61 open issues and 95 have been closed. On average issues are closed in 63 days. There are 5 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of ZODB is 5.8.0

            kandi-Quality Quality

              ZODB has 0 bugs and 0 code smells.

            kandi-Security Security

              ZODB has 4 vulnerability issues reported (0 critical, 1 high, 3 medium, 0 low).
              ZODB code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              ZODB has a Non-SPDX License.
              Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.

            kandi-Reuse Reuse

              ZODB releases are not available. You will need to build from source code and install.
              Build file is available. You can build the component from source.
              ZODB saves you 9077 person hours of effort in developing the same functionality from scratch.
              It has 18629 lines of code, 1862 functions and 124 files.
              It has medium code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed ZODB and discovered the below as its top functions. This is intended to give you an instant insight into ZODB implemented functionality, and help decide if they suit your requirements.
            • Return the persistent id of an object .
            • Read an index .
            • Parse command line arguments .
            • Perform a transaction .
            • Shift the transactions forward by position .
            • Imports imports from a file .
            • Find a module by name .
            • Recover old files .
            • Perform a full backup .
            • Copies data records from a single record .
            Get all kandi verified functions for this library.

            ZODB Key Features

            No Key Features are available at this moment for ZODB.

            ZODB Examples and Code Snippets

            No Code Snippets are available at this moment for ZODB.

            Community Discussions

            QUESTION

            Buildout - Allow hosts for package download
            Asked 2022-Feb-27 at 11:26

            I have a Plone 5.0.5 deployment and the need the package zc.zrs for ZODB replication. After adding the information to the buildout.cfg, I've added the URL https://pypi.org/simple on the index parameter:

            ...

            ANSWER

            Answered 2022-Feb-27 at 11:26

            The Plone buildout should be able to download from pypi by default. Check if you can download with wget into your download folder:

            wget https://files.pythonhosted.org/packages/5c/b2/5a516f4883fc766ea37a9d979a5cacddc1b29df17140c14da26676a3c4b5/zc.zrs-3.1.0.tar.gz

            You should have a downloads folder in your buildout-cache folder, if you are using the default installer. I do that sometimes when the server has some strange network configurations and can't download some packages directly.

            Source https://stackoverflow.com/questions/71269839

            QUESTION

            ZODB: using both regular FileStorage as well as Zlib compressed storage
            Asked 2021-Jun-08 at 15:08

            I am currently writing a Python desktop app that performs some basic data analysis and data display. The data comes from some experiments in our research lab, and we are storing the data in a ZODB database using a FileStorage.

            The code to open the database is fairly straightforward, and looks like what you would expect:

            ...

            ANSWER

            Answered 2021-Jun-08 at 15:08
            zstorage = ZODB.FileStorage.FileStorage('testz.fs') # testz.fs has been created with ZlibStorage
            try:
             db = ZODB.DB(zstorage)
            except:
             zstorage.close()
             zstorage = zc.zlibstorage.ZlibStorage(ZODB.FileStorage.FileStorage('testz.fs'))
             db = ZODB.DB(zstorage)
            

            Source https://stackoverflow.com/questions/67885020

            QUESTION

            How to use blobs > 1GB in zodb relstorage with sqlite backend?
            Asked 2020-Oct-19 at 12:00

            I am trying to save a blob > 1GB via relstorage in a sqlite backend. The following minimum working example

            • removes any previously created databases along with the blob directory,
            • create a new database and
            • saves a blob with 1GB to the database.

            Minimum Working Example:

            ...

            ANSWER

            Answered 2020-Oct-19 at 12:00

            According to my research, you can't store arbitrary sized blobs in this setup. You are hitting the sqlite blob size limit (https://www.sqlite.org/limits.html).

            Your only options at this stage appear to be:

            1. Don't store the blob in sqlite, e.g. by using a shared blob directory.
            2. Increase the blob limit, using a custom build of sqlite (as covered in the above link).
            3. Decrease the size of what you store - e.g. by compressing your blobs, or chunking your data into smaller blobs.
            4. Move to a different storage backend.

            Personally, I would be inclined to use the shared blob directory if I was using sqlite, but you have discounted that option, so I think you're choices are limited.

            Source https://stackoverflow.com/questions/64243173

            QUESTION

            How are blobs removed in RelStorage pack?
            Asked 2020-Sep-01 at 00:34

            This question is related to How to pack blobstorage with Plone and RelStorage

            Using zodb database with RelStorage and sqlite as its backend I am trying to remove unused blobs. Currently db.pack does not remove the blobs from disc. The minimum working example below demonstrates this behavior:

            ...

            ANSWER

            Answered 2020-Sep-01 at 00:34

            By default, the blob storage directory is used as a cache, storing blob data that also is stored in the database; the idea is that loading blob data from a local disk cache is faster than from a remote database server. Packing in a history-free storage with caching blob storage doesn’t delete unreachable blob files, instead relying on the file size limiter to evict stale cache data when room needs to be made. However, you did not set a size limit, so the cache grows unbounded and those unreachable blob files will live on forever.

            Packing can’t remove blob files here because the cache is local to each ZODB client; it is outside the jurisdiction of the ZODB storage, as it were. This may not be as apparent when using SQLite as the database layer but imagine using Postgres instead, on a separate server, with multiple clients across different computers and you can see that cache clean-up is not feasible when packing.

            Note that the other blob storage option is the shared blob storage, which is probably closer to what you expected this to be: all blob data is stored on disk, not in the database. When used with a remote database server and multiple clients you’d need to place this on something like a NTFS share. Packing operates directly on the blobs in that case and unreachable blob files are removed immediately when you pack.

            You have two options:

            • Set a size limit for the blob cache by setting blob-cache-size. Packing still won’t remove the blob files, but they will be removed when space is running low.

            • Switch to a shared blob cache (set shared-blob-dir to true). For a sqlite-backed RelStorage this probably makes more sense than a caching blob storage, in spite of the dire warnings in the documentation!

            So the easiest change would be to switch blob storage modes:

            Source https://stackoverflow.com/questions/63613502

            QUESTION

            how to do a recursion without stack overflow in python?
            Asked 2020-Aug-17 at 23:46

            I am working on a project with ZODB database, and have the following problem:

            ...

            ANSWER

            Answered 2020-Aug-17 at 23:46

            Consider using a while loop instead:

            Source https://stackoverflow.com/questions/63459904

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            Unspecified vulnerability in Zope Object Database (ZODB) before 3.8.2, when certain Zope Enterprise Objects (ZEO) database sharing is enabled, allows remote attackers to execute arbitrary Python code via vectors involving the ZEO network protocol.
            Race condition in ZEO/StorageServer.py in Zope Object Database (ZODB) before 3.10.0 allows remote attackers to cause a denial of service (daemon outage) by establishing and then immediately closing a TCP connection, leading to the accept function having an unexpected return value of None, an unexpected value of None for the address, or an ECONNABORTED, EAGAIN, or EWOULDBLOCK error, a related issue to CVE-2010-3492.
            Unspecified vulnerability in the Zope Enterprise Objects (ZEO) storage-server functionality in Zope Object Database (ZODB) 3.8 before 3.8.3 and 3.9.x before 3.9.0c2, when certain ZEO database sharing and blob support are enabled, allows remote authenticated users to read or delete arbitrary files via unknown vectors.

            Install ZODB

            You can download it from GitHub.
            You can use ZODB like any standard Python library. You will need to make sure that you have a development environment consisting of a Python distribution including header files, a compiler, pip, and git installed. Make sure that your pip, setuptools, and wheel are up to date. When using pip it is generally recommended to install packages in a virtual environment to avoid changes to the system.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/zopefoundation/ZODB.git

          • CLI

            gh repo clone zopefoundation/ZODB

          • sshUrl

            git@github.com:zopefoundation/ZODB.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular Database Libraries

            redis

            by redis

            tidb

            by pingcap

            rethinkdb

            by rethinkdb

            cockroach

            by cockroachdb

            ClickHouse

            by ClickHouse

            Try Top Libraries by zopefoundation

            Zope

            by zopefoundationPython

            RestrictedPython

            by zopefoundationPython

            zope.interface

            by zopefoundationPython

            z3c.rml

            by zopefoundationPython

            bobo

            by zopefoundationPython