Metadata-Version: 2.1
Name: fred-fileman
Version: 0.4.0
Summary: Fred-fileman is a service for file management.
Home-page: UNKNOWN
Author: Vlastimil Zíma
Author-email: vlastimil.zima@nic.cz
License: GPL-3.0-or-later
Description: ============
        Fred-fileman
        ============
        
        Fred-fileman is a service for file management.
        
        Learn more about the project and our community on the `FRED's home page`__
        
        .. _FRED: https://fred.nic.cz
        
        __ FRED_
        
        
        Configuration
        =============
        
        Fileman searches for configuration files in following order:
        
        1. Configuration file set by ``FILEMAN_CONFIG`` environment variable.
        2. Configuration file set by ``--config`` option of a command.
        3. ``~/.fred/fileman.conf``
        4. ``/etc/fred/fileman.conf``
        
        The configuration file is in YAML format with following options:
        
        ``db_connection``
        -----------------
        A connection string to database.
        See https://docs.sqlalchemy.org/core/engines.html#database-urls for possible values.
        Default is ``sqlite:///:memory:``.
        
        ``db_echo``
        -----------
        Whether to log SQL statements.
        Default is ``False``.
        
        ``db_poolclass``
        ----------------
        Dotted path to a pool class.
        See https://docs.sqlalchemy.org/core/pooling.html for details.
        Default is ``None``, i.e. use SQLAlchemy default pool class.
        
        ``grpc_port``
        -------------
        Port to which the fileman gRPC service will bind and listen.
        Default is 50051.
        
        ``logging``
        -----------
        Logging configuration, see https://docs.python.org/3.8/library/logging.config.html for possible values.
        Default is ``None``, i.e. use ``logging`` defaults.
        
        ``max_workers``
        ---------------
        Maximum number of workers for gRPC server, see https://docs.python.org/3/library/concurrent.futures.html#concurrent.futures.ThreadPoolExecutor.
        Default is ``None``, i.e. use Python library default.
        Implemented to avoid problems with too many workers on many-core machines under Python < 3.8.
        
        ``sentry``
        ----------
        Sentry settings in a nested structure.
        May contain following keys:
        
         * ``dsn`` contains data source name (DSN), see https://docs.sentry.io/product/sentry-basics/dsn-explainer/.
           If not provided, Sentry client is not set up.
         * ``environment`` may contain an environment identifier.
         * ``ca_certs`` may contain a path to CA certificates file.
        
        ``storage_root``
        ----------------
        Path to the root of the file system storage.
        Default is ``/var/lib/fileman``.
        
        ChangeLog
        =========
        
        .. contents:: Releases
           :backlinks: none
           :local:
        
        Unreleased
        ----------
        
        0.4.0 (2025-06-11)
        ------------------
        
        * Add support for python 3.13.
        * Use ``fred-setapp`` for settings (#12).
        * Add UID to ``StatReply`` (#17).
        * Replace ``frgal`` with ``fred-frgal``.
        * Use ruff format.
        * Fix tests.
        * Update project setup.
        
        0.3.0 (2023-11-08)
        ------------------
        
        * Drop support for python 3.7.
        * Add Support for python 3.11 and 3.12.
        * Switch to fileman API 1.2 (#13).
        * Drop support for SQLAlchemy 1.3 (#6).
        * Use SQLAlchemy 2.0 API (#4).
        * Resolve SQLAlchemy 2.0 warnings (#5).
        * Replace EasySettings with pydantic (#7).
        * Support numeric ID as file UID (#10).
        * Check mime type in create (#9).
        * Fix annotations.
        * Update project setup.
        
        0.2.0 (2022-02-23)
        ------------------
        
        * Support SQLAlchemy 1.4.
        * Add support for python 3.9 and 3.10.
        * Drop support for python 3.5 and 3.6.
        * Add ``create`` method to service.
        * Refactor Sentry settings.
        * Use service utilities from ``frgal``.
        * Improve coverage.
        * Add man pages.
        * Update static checks, especially mypy, and project setup.
        
        0.1.0 (2020-06-16)
        ------------------
        
        Initial version.
        
        * Add read-only access to files.
        
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Environment :: No Input/Output (Daemon)
Classifier: Intended Audience :: Information Technology
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Internet
Classifier: Topic :: Office/Business
Classifier: Topic :: Utilities
Classifier: Typing :: Typed
Requires-Python: ~=3.8
Provides-Extra: quality
Provides-Extra: sentry
Provides-Extra: test
Provides-Extra: types
