filesysobjects
==============

The 'filesysobjects' package provides cross-platform-utilities for path addresses
of file like resources. This includes the search and navigation features on file
system structures with the application of regular expressions for pathnames 
intermixed with globs.

* filesysobjects.\__init__ - constants

* filesysobjects.apppaths - application resource path processing

* filesysobjects.paths - file systems path processing

* filesysobjects.pathtools - search, enumeration, and iteration operations

* filesysobjects.userdata - user directories

* filesysobjects.osdata - OS directories

* filesysobjects.configdata - config directories

Supported platforms are:

* Linux, BSD, Unix, Mac-OS/OS-X, and Windows

* Python2.7, Python3.5+

The package 'filesysobjects' is a spin off from the project 'UnifiedSessionsManager-2.0',
see 'https://sourceforge.net/projects/ctys/'.

**Online documentation**:

* https://pyfilesysobjects.sourceforge.io/


**Runtime-Repository**:

* PyPI: https://pypi.org/project/pyfilesysobjects/

  Install: *pip install pyfilesysobjects*, see also 'Install'.

**Downloads**:

* sourceforge.net: https://sourceforge.net/projects/pyfilesysobjects/files/

* bitbucket.org: https://bitbucket.org/acue/pyfilesysobjects

* github.com: https://github.com/ArnoCan/pyfilesysobjects/

* pypi.org: https://pypi.org/project/pyfilesysobjects/


Project Data
------------

* PROJECT: 'filesysobjects'

* MISSION: Standard conform utilities for paths of file systems and URIs.

* VERSION: 00.01

* RELEASE: 00.01.032

* STATUS: alpha

* AUTHOR: Arno-Can Uestuensoez

* COPYRIGHT: Copyright (C) 2010,2011,2015-2018 Arno-Can Uestuensoez @Ingenieurbuero Arno-Can Uestuensoez

* LICENSE: Artistic-License-2.0 + Forced-Fairplay-Constraints


Python support:

*  Python2.7, and Python3.5+

OS-Support:

* Linux: Fedora, CentOS, Debian, and Raspbian 

* BSD - OpenBSD, and FreeBSD

* OS-X: Snow Leopard

* Windows: Win7, Win10

* Cygwin

* UNIX: Solaris


**Current Release**


Major Changes:

* Fixes.

* Changed interface to new pythonic notation.

* Prepared next design level for OO notation.

* Python2.6 support dropped.

* Python3.5+ support introduced.

* Reworked API, code checked by pylint, pep8, yapf, and sonar. 

* Added advanced file and path search on filesystems - *findpattern()*.

* Added rfc3986 - level-1 with basic *normapppathx()* and *splitapppathx()*.

* Conformity tests for rfc1738, rfc3986, rfc8089, UNC, MS-SMB/MS-CIFS, IEEE/1003.1, see references section of doc.

ToDo:

* Migrate to classes

* Introduction of dynamic plugins

* Support for name spaces of Windows

* RFC8089 - fix UNC translation to file-URI to slashes only 

* Finish classes as major API

Known Issues:

* Quoting/masking in http paths currently does not work, %-codes has to be used. Queries and fragments are OK.

* Some minor non-compliance for rare esoteric cases as defined by standards.

* Old style MacOS path names are not supported, same with special handling of ':' of HPF/cli/finder

* OpenVMS path names cited in some RFCs are not supported.
