diff --git a/LICENSE b/LICENSE index e9def09..651458f 100644 --- a/LICENSE +++ b/LICENSE @@ -22,6 +22,31 @@ SOFTWARE. --- +THIRD-PARTY DEPENDENCY LICENSES + +This software includes dependencies that are licensed under different terms: + +1. OPTIONAL LDAP FUNCTIONALITY + If you install the optional LDAP dependencies (pip install pytimbr-sqla[ldap]), + you will be subject to additional license terms: + - ldap3: GNU General Public License v3.0 + + Important: The optional LDAP functionality is GPL-licensed. If you distribute + this software with LDAP support enabled, you must comply with GPL v3.0 terms. + +2. OTHER DEPENDENCIES + - future: Contains some GPL v2.0 components (used for Python 2/3 compatibility) + + For a complete list of dependency licenses, see the 'licenses/' directory. + +COMPLIANCE NOTICE: +- Core functionality (without LDAP): MIT Licensed +- With optional LDAP support: Subject to GPL v3.0 terms +- Users can choose their licensing obligations based on which features they use +SOFTWARE. + +--- + Apache License 2.0 Portions of this project are derived from or use dependencies licensed under the Apache License 2.0. diff --git a/NOTICE b/NOTICE index 12f6f33..0c7e491 100644 --- a/NOTICE +++ b/NOTICE @@ -1,6 +1,22 @@ +NOTICES AND INFORMATION +======================== + +This software incorporates components from third parties. + PyHive This project includes code from PyHive originally developed by Dropbox and was donated to Apache/Kyuubi in 2024 future -This project uses the `future` library, which is licensed under the GNU General Public License v2.0 (GPL-2.0). -Please review the terms of the GPL-2.0 license to ensure compliance. +This project uses the `future` library, which contains components licensed under the GNU General Public License v2.0 (GPL-2.0). +Please review the terms of the GPL-2.0 license to ensure compliance when using these components. + +LICENSING OVERVIEW: +- Core package: MIT Licensed +- Optional LDAP support: GPL v3.0 Licensed +- Some dependencies contain GPL components + +COMPLIANCE NOTICE: +If you install optional LDAP support (pip install pytimbr-sqla[ldap]), +you must comply with GPL v3.0 license terms. + +For complete license texts, see the 'licenses/' directory. diff --git a/README.md b/README.md index eef45d7..1e9cb77 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,17 @@ This project is a python connector to timbr using SQLAlchemy. - Install using pip: - `pip install pytimbr-sqla` +- Install with optional LDAP support: + - `pip install pytimbr-sqla[ldap]` + +## License Information +This package uses a **dual-licensing approach**: + +- **Core functionality**: MIT Licensed (permissive) +- **Optional LDAP support**: Requires GPL v3.0 compliance if used + +**Important**: Only install LDAP support if you can comply with GPL v3.0 terms. Most users don't need LDAP functionality. + ## Sample usage - For an example of how to use the Python SQLAlchemy connector for timbr, follow this [example file](examples/example.py) - For an example of how to use the Python SQLAlchemy connector with 'PyHive' as async query for timbr, follow this [example file](examples/pyhive_async_example.py) diff --git a/pyproject.toml b/pyproject.toml index acd75e1..e09f102 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -56,7 +56,6 @@ requires-python = ">=3.9" dependencies = [ "future>=0.18.3", "python-dateutil>=2.8.2", - "ldap3", "thrift>=0.16.0", "thrift_sasl>=0.4.3", "pure-sasl>=0.6.2", @@ -65,6 +64,16 @@ dependencies = [ "pyhive>=0.7.0" ] +[project.optional-dependencies] +ldap = ["ldap3"] +dev = [ + "pytest>=7.0", + "pytest-cov>=4.0", + "black>=22.0", + "isort>=5.0", + "build>=1.2", +] + [project.urls] Homepage = "https://github.com/WPSemantix/timbr_python_SQLAlchemy" Download = "https://github.com/WPSemantix/timbr_python_SQLAlchemy/releases" diff --git a/requirements.txt b/requirements.txt index 104cb34..67177e4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,5 @@ future>=0.18.3 python-dateutil>=2.8.2 -ldap3 thrift>=0.16.0 thrift_sasl>=0.4.3 pure-sasl>=0.6.2