robocorp-excel 0.1.0__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.
@@ -0,0 +1,19 @@
1
+ Metadata-Version: 2.1
2
+ Name: robocorp-excel
3
+ Version: 0.1.0
4
+ Summary: Robocorp Excel automation library
5
+ Author: Ossi R.
6
+ Author-email: ossi@robocorp.com
7
+ Requires-Python: >=3.9,<4.0
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: Programming Language :: Python :: 3.9
10
+ Classifier: Programming Language :: Python :: 3.10
11
+ Classifier: Programming Language :: Python :: 3.11
12
+ Requires-Dist: openpyxl (>=3.0.9,<4.0.0)
13
+ Requires-Dist: xlrd (>=2.0.1,<3.0.0)
14
+ Requires-Dist: xlutils (>=2.0.0,<3.0.0)
15
+ Requires-Dist: xlwt (>=1.3.0,<2.0.0)
16
+ Description-Content-Type: text/markdown
17
+
18
+ # Robocorp excel library
19
+
@@ -0,0 +1 @@
1
+ # Robocorp excel library
@@ -0,0 +1,26 @@
1
+ [tool.poetry]
2
+ name = "robocorp-excel"
3
+ version = "0.1.0"
4
+ description = "Robocorp Excel automation library"
5
+ authors = [
6
+ "Ossi R. <ossi@robocorp.com>",
7
+ "Fabio Z. <fabio@robocorp.com>",
8
+ "Kerkko P. <kerkko@robocorp.com>",
9
+ "Antero V. <antero@robocorp.com>",
10
+ ]
11
+ readme = "README.md"
12
+ packages = [{include = "robo", from="src"}]
13
+
14
+ [tool.poetry.dependencies]
15
+ python = "^3.9"
16
+ xlrd = "^2.0.1"
17
+ xlwt = "^1.3.0"
18
+ xlutils = "^2.0.0"
19
+ openpyxl = "^3.0.9"
20
+
21
+ [tool.poetry.group.dev.dependencies]
22
+ libs-devdeps = {path = "..", develop = true}
23
+
24
+ [build-system]
25
+ requires = ["poetry-core"]
26
+ build-backend = "poetry.core.masonry.api"
@@ -0,0 +1,2 @@
1
+ from .excel import create_workbook, open_workbook
2
+ from .tables import Table
@@ -0,0 +1,22 @@
1
+ import pathlib
2
+ from collections.abc import Iterable
3
+ from typing import Union
4
+
5
+ PathType = Union[str, pathlib.Path]
6
+
7
+
8
+ def is_dict_like(obj):
9
+ """Check if `obj` behaves like a dictionary."""
10
+ return all(
11
+ hasattr(obj, attr) for attr in ("__getitem__", "keys", "__contains__")
12
+ ) and not isinstance(obj, type)
13
+
14
+
15
+ def is_list_like(obj):
16
+ """Check if `obj` behaves like a list."""
17
+ return isinstance(obj, Iterable) and not isinstance(obj, (str, bytes))
18
+
19
+
20
+ def is_namedtuple(obj):
21
+ """Check if `obj` is a namedtuple."""
22
+ return isinstance(obj, tuple) and hasattr(obj, "_fields")