add pyproject.toml

This commit is contained in:
sw 2022-05-21 18:08:29 +08:00
parent 232a8d29ad
commit 4f157e1857
43 changed files with 138 additions and 1311 deletions

2
.gitignore vendored
View File

@ -63,3 +63,5 @@ cover/
# tox # tox
.tox/ .tox/
.idea/
venv/

1073
.noseids

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,7 @@ Let's jump right in with a simple example of monitoring CPU usage. First we need
connect to the database and create a table for the model: connect to the database and create a table for the model:
```python ```python
from infi.clickhouse_orm import Database, Model, DateTimeField, UInt16Field, Float32Field, Memory, F from clickhouse_orm import Database, Model, DateTimeField, UInt16Field, Float32Field, Memory, F
class CPUStats(Model): class CPUStats(Model):

View File

@ -1,68 +0,0 @@
[buildout]
prefer-final = false
newest = false
download-cache = .cache
develop = .
parts =
relative-paths = true
[project]
name = infi.clickhouse_orm
company = Infinidat
namespace_packages = ['infi']
install_requires = [
'iso8601 >= 0.1.12',
'pytz',
'requests',
'setuptools'
]
version_file = src/infi/clickhouse_orm/__version__.py
description = A Python library for working with the ClickHouse database
long_description = A Python library for working with the ClickHouse database
console_scripts = []
gui_scripts = []
package_data = []
upgrade_code = {58530fba-3932-11e6-a20e-7071bc32067f}
product_name = infi.clickhouse_orm
post_install_script_name = None
pre_uninstall_script_name = None
homepage = https://github.com/Infinidat/infi.clickhouse_orm
[isolated-python]
recipe = infi.recipe.python
version = v3.8.0.2
[setup.py]
recipe = infi.recipe.template.version
input = setup.in
output = setup.py
[__version__.py]
recipe = infi.recipe.template.version
output = ${project:version_file}
[development-scripts]
dependent-scripts = true
recipe = infi.recipe.console_scripts
eggs = ${project:name}
ipython<6
nose
coverage
enum-compat
infi.unittest
infi.traceback
memory_profiler
profilehooks
psutil
zc.buildout
scripts = ipython
nosetests
interpreter = python
[pack]
recipe = infi.recipe.application_packager
[sublime]
recipe = corneti.recipes.codeintel
eggs = ${development-scripts:eggs}

29
pyproject.toml Normal file
View File

@ -0,0 +1,29 @@
[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
[project]
name = "clickhouse-orm"
description = "A Python library for working with the ClickHouse database"
readme = "README.md"
keywords = ["ClickHouse", "ORM", 'DB', 'DATABASE', 'OLAP']
license = {text = "BSD License"}
classifiers = [
"Programming Language :: Python :: 3",
"Operating System :: OS Independent",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: Database"
]
dependencies = [
"requests",
"pytz",
"iso8601 >= 0.1.12",
"setuptools"
]
version = "0.0.1"
[tool.setuptools.packages.find]
where = ["src"]
[project.optional-dependencies]
pkg = ["setuptools", "requests", "pytz", "iso8601>=0.1.12"]

View File

@ -1,50 +0,0 @@
SETUP_INFO = dict(
name = '${project:name}',
version = '${infi.recipe.template.version:version}',
author = '${infi.recipe.template.version:author}',
author_email = '${infi.recipe.template.version:author_email}',
url = ${infi.recipe.template.version:homepage},
license = 'BSD',
description = """${project:description}""",
# http://pypi.python.org/pypi?%3Aaction=list_classifiers
classifiers = [
"Intended Audience :: Developers",
"Intended Audience :: System Administrators",
"License :: OSI Approved :: BSD License",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3.4",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: Database"
],
install_requires = ${project:install_requires},
namespace_packages = ${project:namespace_packages},
package_dir = {'': 'src'},
package_data = {'': ${project:package_data}},
include_package_data = True,
zip_safe = False,
entry_points = dict(
console_scripts = ${project:console_scripts},
gui_scripts = ${project:gui_scripts},
),
)
if SETUP_INFO['url'] is None:
_ = SETUP_INFO.pop('url')
def setup():
from setuptools import setup as _setup
from setuptools import find_packages
SETUP_INFO['packages'] = find_packages('src')
_setup(**SETUP_INFO)
if __name__ == '__main__':
setup()

View File

@ -0,0 +1,13 @@
__import__("pkg_resources").declare_namespace(__name__)
from clickhouse_orm.database import *
from clickhouse_orm.engines import *
from clickhouse_orm.fields import *
from clickhouse_orm.funcs import *
from clickhouse_orm.migrations import *
from clickhouse_orm.models import *
from clickhouse_orm.query import *
from clickhouse_orm.system_models import *
from inspect import isclass
__all__ = [c.__name__ for c in locals().values() if isclass(c)]

View File

@ -1 +0,0 @@
__import__("pkg_resources").declare_namespace(__name__)

View File

@ -1,13 +0,0 @@
__import__("pkg_resources").declare_namespace(__name__)
from infi.clickhouse_orm.database import *
from infi.clickhouse_orm.engines import *
from infi.clickhouse_orm.fields import *
from infi.clickhouse_orm.funcs import *
from infi.clickhouse_orm.migrations import *
from infi.clickhouse_orm.models import *
from infi.clickhouse_orm.query import *
from infi.clickhouse_orm.system_models import *
from inspect import isclass
__all__ = [c.__name__ for c in locals().values() if isclass(c)]

View File

@ -1,10 +1,10 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import unittest import unittest
from infi.clickhouse_orm.database import Database from clickhouse_orm.database import Database
from infi.clickhouse_orm.models import Model from clickhouse_orm.models import Model
from infi.clickhouse_orm.fields import * from clickhouse_orm.fields import *
from infi.clickhouse_orm.engines import * from clickhouse_orm.engines import *
import logging import logging
logging.getLogger("requests").setLevel(logging.WARNING) logging.getLogger("requests").setLevel(logging.WARNING)

View File

@ -1,11 +1,11 @@
import unittest import unittest
from datetime import date from datetime import date
from infi.clickhouse_orm.database import Database from clickhouse_orm.database import Database
from infi.clickhouse_orm.models import Model, NO_VALUE from clickhouse_orm.models import Model, NO_VALUE
from infi.clickhouse_orm.fields import * from clickhouse_orm.fields import *
from infi.clickhouse_orm.engines import * from clickhouse_orm.engines import *
from infi.clickhouse_orm.funcs import F from clickhouse_orm.funcs import F
class AliasFieldsTest(unittest.TestCase): class AliasFieldsTest(unittest.TestCase):

View File

@ -1,10 +1,10 @@
import unittest import unittest
from datetime import date from datetime import date
from infi.clickhouse_orm.database import Database from clickhouse_orm.database import Database
from infi.clickhouse_orm.models import Model from clickhouse_orm.models import Model
from infi.clickhouse_orm.fields import * from clickhouse_orm.fields import *
from infi.clickhouse_orm.engines import * from clickhouse_orm.engines import *
class ArrayFieldsTest(unittest.TestCase): class ArrayFieldsTest(unittest.TestCase):
@ -47,7 +47,7 @@ class ArrayFieldsTest(unittest.TestCase):
instance.arr_int = value instance.arr_int = value
def test_parse_array(self): def test_parse_array(self):
from infi.clickhouse_orm.utils import parse_array, unescape from clickhouse_orm.utils import parse_array, unescape
self.assertEqual(parse_array("[]"), []) self.assertEqual(parse_array("[]"), [])
self.assertEqual(parse_array("[1, 2, 395, -44]"), ["1", "2", "395", "-44"]) self.assertEqual(parse_array("[1, 2, 395, -44]"), ["1", "2", "395", "-44"])
self.assertEqual(parse_array("['big','mouse','','!']"), ["big", "mouse", "", "!"]) self.assertEqual(parse_array("['big','mouse','','!']"), ["big", "mouse", "", "!"])

View File

@ -1,8 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import unittest import unittest
from infi.clickhouse_orm.models import BufferModel from clickhouse_orm.models import BufferModel
from infi.clickhouse_orm.engines import * from clickhouse_orm.engines import *
from .base_test_with_data import * from .base_test_with_data import *

View File

@ -2,11 +2,11 @@ import unittest
import datetime import datetime
import pytz import pytz
from infi.clickhouse_orm.database import Database from clickhouse_orm.database import Database
from infi.clickhouse_orm.models import Model, NO_VALUE from clickhouse_orm.models import Model, NO_VALUE
from infi.clickhouse_orm.fields import * from clickhouse_orm.fields import *
from infi.clickhouse_orm.engines import * from clickhouse_orm.engines import *
from infi.clickhouse_orm.utils import parse_tsv from clickhouse_orm.utils import parse_tsv
class CompressedFieldsTestCase(unittest.TestCase): class CompressedFieldsTestCase(unittest.TestCase):

View File

@ -1,8 +1,8 @@
import unittest import unittest
from infi.clickhouse_orm.database import Database from clickhouse_orm.database import Database
from infi.clickhouse_orm.fields import Field, Int16Field from clickhouse_orm.fields import Field, Int16Field
from infi.clickhouse_orm.models import Model from clickhouse_orm.models import Model
from infi.clickhouse_orm.engines import Memory from clickhouse_orm.engines import Memory
class CustomFieldsTest(unittest.TestCase): class CustomFieldsTest(unittest.TestCase):

View File

@ -2,12 +2,12 @@
import unittest import unittest
import datetime import datetime
from infi.clickhouse_orm.database import ServerError, DatabaseException from clickhouse_orm.database import ServerError, DatabaseException
from infi.clickhouse_orm.models import Model from clickhouse_orm.models import Model
from infi.clickhouse_orm.engines import Memory from clickhouse_orm.engines import Memory
from infi.clickhouse_orm.fields import * from clickhouse_orm.fields import *
from infi.clickhouse_orm.funcs import F from clickhouse_orm.funcs import F
from infi.clickhouse_orm.query import Q from clickhouse_orm.query import Q
from .base_test_with_data import * from .base_test_with_data import *
@ -249,7 +249,7 @@ class DatabaseTestCase(TestCaseWithData):
def test_create_ad_hoc_field(self): def test_create_ad_hoc_field(self):
# Tests that create_ad_hoc_field works for all column types in the database # Tests that create_ad_hoc_field works for all column types in the database
from infi.clickhouse_orm.models import ModelBase from clickhouse_orm.models import ModelBase
query = "SELECT DISTINCT type FROM system.columns" query = "SELECT DISTINCT type FROM system.columns"
for row in self.database.select(query): for row in self.database.select(query):
if row.type.startswith('Map'): if row.type.startswith('Map'):

View File

@ -2,10 +2,10 @@ import unittest
import datetime import datetime
import pytz import pytz
from infi.clickhouse_orm.database import Database from clickhouse_orm.database import Database
from infi.clickhouse_orm.models import Model from clickhouse_orm.models import Model
from infi.clickhouse_orm.fields import * from clickhouse_orm.fields import *
from infi.clickhouse_orm.engines import * from clickhouse_orm.engines import *
class DateFieldsTest(unittest.TestCase): class DateFieldsTest(unittest.TestCase):

View File

@ -2,10 +2,10 @@
import unittest import unittest
from decimal import Decimal from decimal import Decimal
from infi.clickhouse_orm.database import Database, ServerError from clickhouse_orm.database import Database, ServerError
from infi.clickhouse_orm.models import Model from clickhouse_orm.models import Model
from infi.clickhouse_orm.fields import * from clickhouse_orm.fields import *
from infi.clickhouse_orm.engines import * from clickhouse_orm.engines import *
class DecimalFieldsTest(unittest.TestCase): class DecimalFieldsTest(unittest.TestCase):

View File

@ -1,9 +1,9 @@
import unittest import unittest
from infi.clickhouse_orm.database import Database from clickhouse_orm.database import Database
from infi.clickhouse_orm.models import Model from clickhouse_orm.models import Model
from infi.clickhouse_orm.fields import * from clickhouse_orm.fields import *
from infi.clickhouse_orm.engines import * from clickhouse_orm.engines import *
from enum import Enum from enum import Enum

View File

@ -1,10 +1,10 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import unittest import unittest
from infi.clickhouse_orm.database import Database from clickhouse_orm.database import Database
from infi.clickhouse_orm.models import Model from clickhouse_orm.models import Model
from infi.clickhouse_orm.fields import * from clickhouse_orm.fields import *
from infi.clickhouse_orm.engines import * from clickhouse_orm.engines import *
class FixedStringFieldsTest(unittest.TestCase): class FixedStringFieldsTest(unittest.TestCase):

View File

@ -7,9 +7,9 @@ from ipaddress import IPv4Address, IPv6Address
import logging import logging
from decimal import Decimal from decimal import Decimal
from infi.clickhouse_orm.database import ServerError from clickhouse_orm.database import ServerError
from infi.clickhouse_orm.utils import NO_VALUE from clickhouse_orm.utils import NO_VALUE
from infi.clickhouse_orm.funcs import F from clickhouse_orm.funcs import F
class FuncsTestCase(TestCaseWithData): class FuncsTestCase(TestCaseWithData):

View File

@ -2,10 +2,10 @@ import unittest
import datetime import datetime
import pytz import pytz
from infi.clickhouse_orm.database import Database from clickhouse_orm.database import Database
from infi.clickhouse_orm.models import Model from clickhouse_orm.models import Model
from infi.clickhouse_orm.fields import * from clickhouse_orm.fields import *
from infi.clickhouse_orm.engines import * from clickhouse_orm.engines import *
class InheritanceTestCase(unittest.TestCase): class InheritanceTestCase(unittest.TestCase):

View File

@ -1,9 +1,9 @@
import unittest import unittest
from ipaddress import IPv4Address, IPv6Address from ipaddress import IPv4Address, IPv6Address
from infi.clickhouse_orm.database import Database from clickhouse_orm.database import Database
from infi.clickhouse_orm.fields import Int16Field, IPv4Field, IPv6Field from clickhouse_orm.fields import Int16Field, IPv4Field, IPv6Field
from infi.clickhouse_orm.models import Model from clickhouse_orm.models import Model
from infi.clickhouse_orm.engines import Memory from clickhouse_orm.engines import Memory
class IPFieldsTest(unittest.TestCase): class IPFieldsTest(unittest.TestCase):

View File

@ -1,11 +1,11 @@
import unittest import unittest
from datetime import date from datetime import date
from infi.clickhouse_orm.database import Database from clickhouse_orm.database import Database
from infi.clickhouse_orm.models import Model, NO_VALUE from clickhouse_orm.models import Model, NO_VALUE
from infi.clickhouse_orm.fields import * from clickhouse_orm.fields import *
from infi.clickhouse_orm.engines import * from clickhouse_orm.engines import *
from infi.clickhouse_orm.funcs import F from clickhouse_orm.funcs import F
class MaterializedFieldsTest(unittest.TestCase): class MaterializedFieldsTest(unittest.TestCase):

View File

@ -1,10 +1,10 @@
import unittest import unittest
from infi.clickhouse_orm.database import Database, ServerError from clickhouse_orm.database import Database, ServerError
from infi.clickhouse_orm.models import Model, BufferModel, Constraint, Index from clickhouse_orm.models import Model, BufferModel, Constraint, Index
from infi.clickhouse_orm.fields import * from clickhouse_orm.fields import *
from infi.clickhouse_orm.engines import * from clickhouse_orm.engines import *
from infi.clickhouse_orm.migrations import MigrationHistory from clickhouse_orm.migrations import MigrationHistory
from enum import Enum from enum import Enum
# Add tests to path so that migrations will be importable # Add tests to path so that migrations will be importable

View File

@ -2,10 +2,10 @@ import unittest
import datetime import datetime
import pytz import pytz
from infi.clickhouse_orm.models import Model, NO_VALUE from clickhouse_orm.models import Model, NO_VALUE
from infi.clickhouse_orm.fields import * from clickhouse_orm.fields import *
from infi.clickhouse_orm.engines import * from clickhouse_orm.engines import *
from infi.clickhouse_orm.funcs import F from clickhouse_orm.funcs import F
class ModelTestCase(unittest.TestCase): class ModelTestCase(unittest.TestCase):

View File

@ -1,11 +1,11 @@
import unittest import unittest
import pytz import pytz
from infi.clickhouse_orm.database import Database from clickhouse_orm.database import Database
from infi.clickhouse_orm.models import Model from clickhouse_orm.models import Model
from infi.clickhouse_orm.fields import * from clickhouse_orm.fields import *
from infi.clickhouse_orm.engines import * from clickhouse_orm.engines import *
from infi.clickhouse_orm.utils import comma_join from clickhouse_orm.utils import comma_join
from datetime import date, datetime from datetime import date, datetime

View File

@ -1,8 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import unittest import unittest
from infi.clickhouse_orm.database import Database from clickhouse_orm.database import Database
from infi.clickhouse_orm.query import Q from clickhouse_orm.query import Q
from infi.clickhouse_orm.funcs import F from clickhouse_orm.funcs import F
from .base_test_with_data import * from .base_test_with_data import *
from datetime import date, datetime from datetime import date, datetime
from enum import Enum from enum import Enum

View File

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from infi.clickhouse_orm.database import DatabaseException, ServerError from clickhouse_orm.database import DatabaseException, ServerError
from .base_test_with_data import * from .base_test_with_data import *

View File

@ -1,6 +1,6 @@
import unittest import unittest
from infi.clickhouse_orm.database import ServerError from clickhouse_orm.database import ServerError
class ServerErrorTest(unittest.TestCase): class ServerErrorTest(unittest.TestCase):

View File

@ -1,5 +1,5 @@
import unittest import unittest
from infi.clickhouse_orm.fields import * from clickhouse_orm.fields import *
from datetime import date, datetime from datetime import date, datetime
import pytz import pytz

View File

@ -3,11 +3,11 @@ from datetime import date
import os import os
from infi.clickhouse_orm.database import Database, DatabaseException from clickhouse_orm.database import Database, DatabaseException
from infi.clickhouse_orm.engines import * from clickhouse_orm.engines import *
from infi.clickhouse_orm.fields import * from clickhouse_orm.fields import *
from infi.clickhouse_orm.models import Model from clickhouse_orm.models import Model
from infi.clickhouse_orm.system_models import SystemPart from clickhouse_orm.system_models import SystemPart
class SystemTest(unittest.TestCase): class SystemTest(unittest.TestCase):

View File

@ -1,9 +1,9 @@
import unittest import unittest
from uuid import UUID from uuid import UUID
from infi.clickhouse_orm.database import Database from clickhouse_orm.database import Database
from infi.clickhouse_orm.fields import Int16Field, UUIDField from clickhouse_orm.fields import Int16Field, UUIDField
from infi.clickhouse_orm.models import Model from clickhouse_orm.models import Model
from infi.clickhouse_orm.engines import Memory from clickhouse_orm.engines import Memory
class UUIDFieldsTest(unittest.TestCase): class UUIDFieldsTest(unittest.TestCase):

12
tox.ini
View File

@ -1,12 +0,0 @@
[tox]
envlist = py27, py35, pypy
[testenv]
deps =
nose
flake8
commands =
{envpython} -m compileall -q src/ tests/
# {envbindir}/flake8 src/ tests/ --max-line-length=120
nosetests -v {posargs}