Repository: candango/firenado (language: python)

Issue:
Set key dependencies relative to the minor version instead of a fixed version
To facilitate requirements integration between projects let's set dependencies relative to a minor instead setting fixed versions.

From some experience with automatoes, firenado, and peasant in the same project sometimes cartola will break pip if one project bumps before firenado or vice-versa.

Adopting that approach on the following packages:

 - cartola
 - hiredis
 - redis
 - sqlalchemy
 - pexpect

Bumping versions will occur when a minor or major emerges, but the minor will be the reference.


Discussion / hints:

Fix patch:
diff --git a/requirements/basic.txt b/requirements/basic.txt
index 1dab792..981a244 100644
--- a/requirements/basic.txt
+++ b/requirements/basic.txt
@@ -1,3 +1,3 @@
-cartola==0.16
+cartola>=0.16
 pymobiledetect==1.3.2
-tornado==6.1
+tornado==6.2
diff --git a/requirements/pexpect.txt b/requirements/pexpect.txt
index 57d3570..1542537 100644
--- a/requirements/pexpect.txt
+++ b/requirements/pexpect.txt
@@ -1,1 +1,1 @@
-pexpect==4.8.0
+pexpect>=4.8.0
diff --git a/requirements/redis.txt b/requirements/redis.txt
index 3b75138..c691f21 100644
--- a/requirements/redis.txt
+++ b/requirements/redis.txt
@@ -1,2 +1,2 @@
-redis==4.2.2
-hiredis==2.0.0
+redis>=4.3.0
+hiredis>=2.0.0
diff --git a/requirements/schedule.txt b/requirements/schedule.txt
index 3f530dd..150c627 100644
--- a/requirements/schedule.txt
+++ b/requirements/schedule.txt
@@ -1,1 +1,1 @@
-croniter==1.3.4
+croniter==1.3.5
diff --git a/requirements/sqlalchemy.txt b/requirements/sqlalchemy.txt
index abd475b..c7b02ed 100644
--- a/requirements/sqlalchemy.txt
+++ b/requirements/sqlalchemy.txt
@@ -1,1 +1,1 @@
-sqlalchemy==1.4.35
+sqlalchemy>=1.4.0
diff --git a/setup.py b/setup.py
index ed32eae..550252a 100644
--- a/setup.py
+++ b/setup.py
@@ -62,6 +62,7 @@ def resolve_requires(requirements_file):
     maintainer=firenado.get_author(),
     maintainer_email=firenado.get_author_email(),
     install_requires=resolve_requires("requirements/basic.txt"),
+    python_requires=">= 3.7",
     extras_require={
         'all': resolve_requires("requirements/all.txt"),
         'redis': resolve_requires("requirements/redis.txt"),
@@ -80,10 +81,10 @@ def resolve_requires(requirements_file):
         "License :: OSI Approved :: Apache Software License",
         "Operating System :: OS Independent",
         "Programming Language :: Python",
-        "Programming Language :: Python :: 3.6",
         "Programming Language :: Python :: 3.7",
         "Programming Language :: Python :: 3.8",
         "Programming Language :: Python :: 3.9",
+        "Programming Language :: Python :: 3.10",
         "Programming Language :: Python :: 3 :: Only",
         "Topic :: Internet :: WWW/HTTP",
         "Topic :: Internet :: WWW/HTTP :: Dynamic Content",


Test patch:
diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml
index 87a18e8..c3c2102 100644
--- a/.github/workflows/run_tests.yml
+++ b/.github/workflows/run_tests.yml
@@ -8,7 +8,7 @@ jobs:
     runs-on: ubuntu-latest
     strategy:
       matrix:
-        python-version: [3.6, 3.7, 3.8, 3.9]
+        python-version: ["3.7", "3.8", "3.9", "3.10"]
 
     steps:
       - uses: actions/checkout@v2