Skip to content

Commit cbae6e1

Browse files
committed
Init skelet
1 parent b06b80c commit cbae6e1

16 files changed

+304
-2
lines changed

.idea/.gitignore

+3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/inspectionProfiles/Project_Default.xml

+123
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/inspectionProfiles/profiles_settings.xml

+6
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/misc.xml

+7
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/modules.xml

+8
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/qgate-perf.iml

+10
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/vcs.xml

+6
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

+17-2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,17 @@
1-
# qgate-perf
2-
Quality gate performance
1+
[![PyPI version fury.io](https://badge.fury.io/py/qgate-perf.svg)](https://pypi.python.org/pypi/qgate-perf/)
2+
# QGate-Perf
3+
4+
Performance test generator part of Quality Gate.
5+
6+
## Usage
7+
8+
```lang-python
9+
from qgate_graph.graph_performance import GraphPerformance
10+
from qgate_graph.graph_executor import GraphExecutor
11+
import logging
12+
13+
```
14+
15+
# Outputs
16+
![graph](./assets/NoSQL_bdp_nonprod-2023-04-22_17-08-34-bulk-10000x50.png)
17+

dependencies.py

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
import os
2+
import typing
3+
4+
def base_requirements() -> typing.List[str]:
5+
return list(_load_dependencies_from_file("requirements.txt"))
6+
7+
def dev_requirements() -> typing.List[str]:
8+
return list(_load_dependencies_from_file("dev-requirements.txt"))
9+
10+
def extra_requirements() -> typing.Dict[str, typing.List[str]]:
11+
extras_require = {
12+
}
13+
return extras_require
14+
15+
def _is_ignored(line: str) -> bool:
16+
line = line.strip()
17+
return (not line) or (line[0] == "#") or line.startswith("git+")
18+
19+
def _extract_package_from_egg(line: str) -> str:
20+
if "#egg=" in line:
21+
_, package = line.split("#egg=")
22+
return f"{package} @ {line}"
23+
return line
24+
25+
def _load_dependencies_from_file(path: str, parent_dir: str = None) -> typing.List[str]:
26+
parent_dir = parent_dir or os.path.dirname(__file__)
27+
with open(f"{parent_dir}/{path}") as fp:
28+
return [
29+
_extract_package_from_egg(line.strip())
30+
for line in fp
31+
if not _is_ignored(line)
32+
]
33+
34+
def _get_extra_dependencies(
35+
include: typing.List[str] = None,
36+
exclude: typing.List[str] = None,
37+
base_deps: typing.List[str] = None,
38+
extras_require: typing.Dict[str, typing.List[str]] = None,
39+
) -> typing.List[str]:
40+
include = include or []
41+
exclude = exclude or []
42+
base_deps = base_deps or []
43+
extras_require = extras_require or {}
44+
extra_deps = set(base_deps)
45+
for extra_key, requirement_list in extras_require.items():
46+
if extra_key not in exclude and (not include or extra_key in include):
47+
extra_deps.update(requirement_list)
48+
return list(sorted(extra_deps))

dev-requirements.txt

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
click~=8.1
2+
matplotlib>=3.5

main.py

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import qgate_graph.graph as grp
2+
import qgate_graph
3+
import click
4+
import logging
5+
6+
@click.command()
7+
@click.option("--input", help="input directory (default is directory 'input'", default="input")
8+
@click.option("--output", help="output directory (default is directory 'output'", default="output")
9+
def graph(input,output):
10+
"""Generate graphs based in input data."""
11+
logging.basicConfig()
12+
logging.getLogger().setLevel(logging.INFO)
13+
14+
graph=grp.Graph()
15+
graph.generate_from_dir(input, output)
16+
17+
if __name__ == '__main__':
18+
graph()

publish.bat

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#pip install --upgrade setuptools wheel
2+
#pip install --upgrade twine
3+
4+
rmdir /S /Q dist
5+
6+
python setup.py sdist bdist_wheel
7+
twine upload dist/* --verbose -ugeorge0st

qgate_perf/__init__.py

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# info
2+
from .version import __version__

qgate_perf/version.py

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Store the version here so:
2+
# 1) we don't load dependencies by storing it in __init__.py
3+
# 2) we can import it in setup.py for the same reason
4+
# 3) we can import it into your module module
5+
__version__ = '0.1rc1'

requirements.txt

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
matplotlib>=3.5
2+

setup.py

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
try:
2+
from setuptools import setup, find_packages
3+
except ImportError:
4+
from distutils.core import setup
5+
6+
import json
7+
import logging
8+
from qgate_graph.version import __version__
9+
import dependencies
10+
#import packages
11+
12+
logging.basicConfig(level=logging.INFO)
13+
logger = logging.getLogger("qgate-graph-setup")
14+
15+
with open('README.md') as readme_file:
16+
README = readme_file.read()
17+
18+
#with open('HISTORY.md') as history_file:
19+
# HISTORY = history_file.read()
20+
setup_args = dict(
21+
name='qgate_perf',
22+
version=__version__,
23+
description='Performance test generator part of Quality Gate',
24+
long_description_content_type="text/markdown",
25+
long_description=README, # + '\n\n' + HISTORY,
26+
license='MIT',
27+
packages=find_packages(),
28+
author='Jiri Steuer',
29+
author_email='steuer.jiri@gmail.com',
30+
keywords=['PerformanceTest', 'Performance', 'QualityGate'],
31+
url='https://github.com/george0st/qgate-perf/',
32+
download_url='https://pypi.org/project/qgate_perf/'
33+
)
34+
35+
install_requires = dependencies.base_requirements(),
36+
tests_require = dependencies.dev_requirements(),
37+
extras_require = dependencies.extra_requirements(),
38+
39+
if __name__ == '__main__':
40+
setup(**setup_args, install_requires=install_requires)

0 commit comments

Comments
 (0)