sqlalchemy-query-helpers 1.0.3__tar.gz → 1.0.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of sqlalchemy-query-helpers might be problematic. Click here for more details.

@@ -0,0 +1,68 @@
1
+ Metadata-Version: 2.1
2
+ Name: sqlalchemy-query-helpers
3
+ Version: 1.0.5
4
+ Summary: Some helpers for SQLAlchemy
5
+ Author-email: vladiscripts <blagopoluchie12@gmail.com>
6
+ Project-URL: Homepage, https://github.com/vladiscripts/sqlalchemy-query-helpers
7
+ Project-URL: Issues, https://github.com/vladiscripts/sqlalchemy-query-helpers/issues
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: License :: OSI Approved :: MIT License
10
+ Classifier: Operating System :: OS Independent
11
+ Requires-Python: >=3.10
12
+ Description-Content-Type: text/markdown
13
+ License-File: LICENSE
14
+ Requires-Dist: sqlalchemy
15
+
16
+ Пакет содержит хелперы для пакета SQLAlchmy - методов `insert`, `upsert`, `update` и другое.
17
+
18
+ Инициализация: `db = DB(db_name, Base, use_os_env=False, echo=False)`. Где:
19
+ * `use_os_env`. Значение `True` означает брать определения для подключения к базе данных из переменных окружения хоста: `os.environ['DB_USER'], os.environ['DB_PASSWORD'], os.environ['DB_HOST']`. При значении `False` переменные user, password, host берутся из файла `cfg.py`, который должен быть создан в каталоге скрипта.
20
+
21
+ ## Экземпляр класса содержит
22
+ Методы:
23
+ * `insert_many`, `upsert` и другие
24
+
25
+ Свойства:
26
+ * `engine` - подключение к базе данных
27
+ * `name` - имя базы данных
28
+ * `base`: DeclarativeMeta
29
+ * `Session: sessionmaker` - фабрика сессий
30
+ * `session: Session` - инициализированная сессия
31
+
32
+ ## Пример использования
33
+
34
+ Определяем модель таблицы в файле `db_model.py`:
35
+ ```python
36
+ from sqlalchemy import Column, Integer, String, Date, ForeignKey
37
+ from sqlalchemy.dialects.mysql import TINYINT, SMALLINT, INTEGER, ENUM, FLOAT
38
+ from sqlalchemy.schema import Index
39
+ from sqlalchemy.orm import declarative_base
40
+
41
+ Base = declarative_base()
42
+
43
+ db_name = 'some_database'
44
+
45
+
46
+ class ATable(Base):
47
+ __tablename__ = 'A_table'
48
+ id = Column(INTEGER(unsigned=True), primary_key=True, autoincrement=True)
49
+ name = Column(String(100), nullable=False)
50
+ ```
51
+
52
+ Основной файл:
53
+ ```pythonа
54
+ from sqlalchemy_query_helpers import DB
55
+ from db_model import db_name, Base, ATable
56
+
57
+ db = DB(db_name, Base)
58
+
59
+ values_from_database = db.session.query(ATable).all()
60
+ ```
61
+
62
+ #### Пример `cfg.py`
63
+ ```python
64
+ # Settings of database
65
+ host = '100.100.100.100'
66
+ user = 'root'
67
+ password = 'qwerty'
68
+ ```
@@ -0,0 +1,53 @@
1
+ Пакет содержит хелперы для пакета SQLAlchmy - методов `insert`, `upsert`, `update` и другое.
2
+
3
+ Инициализация: `db = DB(db_name, Base, use_os_env=False, echo=False)`. Где:
4
+ * `use_os_env`. Значение `True` означает брать определения для подключения к базе данных из переменных окружения хоста: `os.environ['DB_USER'], os.environ['DB_PASSWORD'], os.environ['DB_HOST']`. При значении `False` переменные user, password, host берутся из файла `cfg.py`, который должен быть создан в каталоге скрипта.
5
+
6
+ ## Экземпляр класса содержит
7
+ Методы:
8
+ * `insert_many`, `upsert` и другие
9
+
10
+ Свойства:
11
+ * `engine` - подключение к базе данных
12
+ * `name` - имя базы данных
13
+ * `base`: DeclarativeMeta
14
+ * `Session: sessionmaker` - фабрика сессий
15
+ * `session: Session` - инициализированная сессия
16
+
17
+ ## Пример использования
18
+
19
+ Определяем модель таблицы в файле `db_model.py`:
20
+ ```python
21
+ from sqlalchemy import Column, Integer, String, Date, ForeignKey
22
+ from sqlalchemy.dialects.mysql import TINYINT, SMALLINT, INTEGER, ENUM, FLOAT
23
+ from sqlalchemy.schema import Index
24
+ from sqlalchemy.orm import declarative_base
25
+
26
+ Base = declarative_base()
27
+
28
+ db_name = 'some_database'
29
+
30
+
31
+ class ATable(Base):
32
+ __tablename__ = 'A_table'
33
+ id = Column(INTEGER(unsigned=True), primary_key=True, autoincrement=True)
34
+ name = Column(String(100), nullable=False)
35
+ ```
36
+
37
+ Основной файл:
38
+ ```pythonа
39
+ from sqlalchemy_query_helpers import DB
40
+ from db_model import db_name, Base, ATable
41
+
42
+ db = DB(db_name, Base)
43
+
44
+ values_from_database = db.session.query(ATable).all()
45
+ ```
46
+
47
+ #### Пример `cfg.py`
48
+ ```python
49
+ # Settings of database
50
+ host = '100.100.100.100'
51
+ user = 'root'
52
+ password = 'qwerty'
53
+ ```
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "sqlalchemy-query-helpers"
7
- version = "1.0.3"
7
+ version = "1.0.5"
8
8
  authors = [
9
9
  { name = "vladiscripts", email = "blagopoluchie12@gmail.com" },
10
10
  ]
@@ -1,5 +1,6 @@
1
1
  from sqlalchemy import create_engine, MetaData, Table, select
2
- from sqlalchemy.orm import sessionmaker, Query, DeclarativeMeta
2
+ from sqlalchemy.orm import sessionmaker, Query, DeclarativeMeta, session
3
+ from sqlalchemy.orm.session import Session
3
4
  from sqlalchemy.orm.attributes import InstrumentedAttribute
4
5
  from sqlalchemy.dialects.mysql import insert
5
6
  from sqlalchemy.exc import IntegrityError
@@ -11,6 +12,9 @@ class DB:
11
12
  is_updated = False
12
13
  name: str
13
14
  base: DeclarativeMeta = None
15
+ engine = None
16
+ Session: sessionmaker = None
17
+ session: Session = None
14
18
 
15
19
  def __init__(self, db_name, base: DeclarativeMeta, use_os_env=False, echo=False):
16
20
  self.base = base
@@ -0,0 +1,68 @@
1
+ Metadata-Version: 2.1
2
+ Name: sqlalchemy-query-helpers
3
+ Version: 1.0.5
4
+ Summary: Some helpers for SQLAlchemy
5
+ Author-email: vladiscripts <blagopoluchie12@gmail.com>
6
+ Project-URL: Homepage, https://github.com/vladiscripts/sqlalchemy-query-helpers
7
+ Project-URL: Issues, https://github.com/vladiscripts/sqlalchemy-query-helpers/issues
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: License :: OSI Approved :: MIT License
10
+ Classifier: Operating System :: OS Independent
11
+ Requires-Python: >=3.10
12
+ Description-Content-Type: text/markdown
13
+ License-File: LICENSE
14
+ Requires-Dist: sqlalchemy
15
+
16
+ Пакет содержит хелперы для пакета SQLAlchmy - методов `insert`, `upsert`, `update` и другое.
17
+
18
+ Инициализация: `db = DB(db_name, Base, use_os_env=False, echo=False)`. Где:
19
+ * `use_os_env`. Значение `True` означает брать определения для подключения к базе данных из переменных окружения хоста: `os.environ['DB_USER'], os.environ['DB_PASSWORD'], os.environ['DB_HOST']`. При значении `False` переменные user, password, host берутся из файла `cfg.py`, который должен быть создан в каталоге скрипта.
20
+
21
+ ## Экземпляр класса содержит
22
+ Методы:
23
+ * `insert_many`, `upsert` и другие
24
+
25
+ Свойства:
26
+ * `engine` - подключение к базе данных
27
+ * `name` - имя базы данных
28
+ * `base`: DeclarativeMeta
29
+ * `Session: sessionmaker` - фабрика сессий
30
+ * `session: Session` - инициализированная сессия
31
+
32
+ ## Пример использования
33
+
34
+ Определяем модель таблицы в файле `db_model.py`:
35
+ ```python
36
+ from sqlalchemy import Column, Integer, String, Date, ForeignKey
37
+ from sqlalchemy.dialects.mysql import TINYINT, SMALLINT, INTEGER, ENUM, FLOAT
38
+ from sqlalchemy.schema import Index
39
+ from sqlalchemy.orm import declarative_base
40
+
41
+ Base = declarative_base()
42
+
43
+ db_name = 'some_database'
44
+
45
+
46
+ class ATable(Base):
47
+ __tablename__ = 'A_table'
48
+ id = Column(INTEGER(unsigned=True), primary_key=True, autoincrement=True)
49
+ name = Column(String(100), nullable=False)
50
+ ```
51
+
52
+ Основной файл:
53
+ ```pythonа
54
+ from sqlalchemy_query_helpers import DB
55
+ from db_model import db_name, Base, ATable
56
+
57
+ db = DB(db_name, Base)
58
+
59
+ values_from_database = db.session.query(ATable).all()
60
+ ```
61
+
62
+ #### Пример `cfg.py`
63
+ ```python
64
+ # Settings of database
65
+ host = '100.100.100.100'
66
+ user = 'root'
67
+ password = 'qwerty'
68
+ ```
@@ -1,14 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: sqlalchemy-query-helpers
3
- Version: 1.0.3
4
- Summary: Some helpers for SQLAlchemy
5
- Author-email: vladiscripts <blagopoluchie12@gmail.com>
6
- Project-URL: Homepage, https://github.com/vladiscripts/sqlalchemy-query-helpers
7
- Project-URL: Issues, https://github.com/vladiscripts/sqlalchemy-query-helpers/issues
8
- Classifier: Programming Language :: Python :: 3
9
- Classifier: License :: OSI Approved :: MIT License
10
- Classifier: Operating System :: OS Independent
11
- Requires-Python: >=3.10
12
- Description-Content-Type: text/markdown
13
- License-File: LICENSE
14
- Requires-Dist: sqlalchemy
File without changes
@@ -1,14 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: sqlalchemy-query-helpers
3
- Version: 1.0.3
4
- Summary: Some helpers for SQLAlchemy
5
- Author-email: vladiscripts <blagopoluchie12@gmail.com>
6
- Project-URL: Homepage, https://github.com/vladiscripts/sqlalchemy-query-helpers
7
- Project-URL: Issues, https://github.com/vladiscripts/sqlalchemy-query-helpers/issues
8
- Classifier: Programming Language :: Python :: 3
9
- Classifier: License :: OSI Approved :: MIT License
10
- Classifier: Operating System :: OS Independent
11
- Requires-Python: >=3.10
12
- Description-Content-Type: text/markdown
13
- License-File: LICENSE
14
- Requires-Dist: sqlalchemy