File support-python-311.patch of Package python-dynaconf

From 6ff2192ef2dfd0e29c6889cc248353a57e3293dc Mon Sep 17 00:00:00 2001
From: Bruno Rocha <rochacbruno@gmail.com>
Date: Mon, 7 Nov 2022 18:36:05 +0000
Subject: [PATCH] Add Python 3.11 to CI

Thanks @Riverfount
---
 .github/workflows/main.yml | 16 ++++++++--------
 dynaconf/base.py           |  4 ++--
 setup.py                   |  5 ++---
 tests/test_base.py         | 10 ++++------
 4 files changed, 16 insertions(+), 19 deletions(-)

diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index d512c15f..fe399891 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -36,7 +36,7 @@ jobs:
     strategy:
       fail-fast: false
       matrix:
-        python-version: ["3.8", "3.9", "3.10"]
+        python-version: ["3.8", "3.9", "3.10", "3.11"]
         os: [ubuntu-latest, macos-latest, windows-latest]
     runs-on: ${{ matrix.os }}
     steps:
@@ -61,7 +61,7 @@ jobs:
     strategy:
       fail-fast: false
       matrix:
-        python-version: ["3.8", "3.10"]
+        python-version: ["3.8", "3.10", "3.11"]
         os: [ubuntu-latest]
     runs-on: ${{ matrix.os }}
     steps:
@@ -104,7 +104,7 @@ jobs:
     strategy:
       fail-fast: false
       matrix:
-        python-version: ["3.8", "3.10"]
+        python-version: ["3.8", "3.10", "3.11"]
         os: [macos-latest]
     runs-on: ${{ matrix.os }}
     steps:
@@ -126,7 +126,7 @@ jobs:
     strategy:
       fail-fast: false
       matrix:
-        python-version: ["3.8", "3.10"]
+        python-version: ["3.8", "3.10", "3.11"]
         os: [ubuntu-latest, macos-latest]
     runs-on: ${{ matrix.os }}
     steps:
@@ -146,7 +146,7 @@ jobs:
     strategy:
       fail-fast: false
       matrix:
-        python-version: ["3.8", "3.10"]
+        python-version: ["3.8", "3.10", "3.11"]
         os: [windows-latest]
     runs-on: ${{ matrix.os }}
     steps:
@@ -167,7 +167,7 @@ jobs:
     strategy:
       fail-fast: false
       matrix:
-        python-version: ["3.8", "3.10"]
+        python-version: ["3.8", "3.10", "3.11"]
         os: [windows-latest]
     runs-on: ${{ matrix.os }}
     steps:
@@ -188,7 +188,7 @@ jobs:
     strategy:
       fail-fast: false
       matrix:
-        python-version: ["3.8", "3.10"]
+        python-version: ["3.8", "3.10", "3.11"]
         os: [ubuntu-latest]
     runs-on: ${{ matrix.os }}
     services:
@@ -213,7 +213,7 @@ jobs:
     strategy:
       fail-fast: false
       matrix:
-        python-version: ["3.8", "3.10"]
+        python-version: ["3.8", "3.10", "3.11"]
         os: [ubuntu-latest]
     runs-on: ${{ matrix.os }}
     services:
diff --git a/dynaconf/base.py b/dynaconf/base.py
index 2858b549..15f3df46 100644
--- a/dynaconf/base.py
+++ b/dynaconf/base.py
@@ -753,8 +753,8 @@ def setenv(self, env=None, clean=True, silent=True, filename=None):
         """
         env = env or self.ENV_FOR_DYNACONF
 
-        if not isinstance(env, str):
-            raise AttributeError("env should be a string")
+        if not isinstance(env, str) or "_" in env or " " in env:
+            raise ValueError("env should be a string without _ or spaces")
 
         env = env.upper()
 
diff --git a/setup.py b/setup.py
index af82a877..223653b5 100644
--- a/setup.py
+++ b/setup.py
@@ -1,8 +1,6 @@
 from __future__ import annotations
 
-import io
 import os
-import sys
 
 from setuptools import find_packages
 from setuptools import setup
@@ -83,7 +81,7 @@ def read(*names, **kwargs):
         "all": ["redis", "ruamel.yaml", "configobj", "hvac"],
         "test": test_requirements,
     },
-    python_requires=">=3.7",
+    python_requires=">=3.8",
     entry_points={"console_scripts": ["dynaconf=dynaconf.cli:main"]},
     setup_requires=["setuptools>=38.6.0"],
     classifiers=[
@@ -100,6 +98,7 @@ def read(*names, **kwargs):
         "Programming Language :: Python :: 3.8",
         "Programming Language :: Python :: 3.9",
         "Programming Language :: Python :: 3.10",
+        "Programming Language :: Python :: 3.11",
         "Topic :: Utilities",
         "Topic :: Software Development :: Libraries",
         "Topic :: Software Development :: Libraries :: Python Modules",
diff --git a/tests/test_base.py b/tests/test_base.py
index ae1fe9b9..18363ba6 100644
--- a/tests/test_base.py
+++ b/tests/test_base.py
@@ -204,15 +204,13 @@ def test_as_json(settings):
 
 
 def test_env_should_be_string(settings):
-    with pytest.raises(AttributeError):
-        with settings.setenv(123456):
-            pass
+    with pytest.raises(ValueError):
+        settings.setenv(123456)
 
 
 def test_env_should_not_have_underline(settings):
-    with pytest.raises(AttributeError):
-        with settings.setenv("COOL_env"):
-            pass
+    with pytest.raises(ValueError):
+        settings.setenv("COOL_env")
 
 
 def test_path_for(settings):
openSUSE Build Service is sponsored by