semvec/pypi-packages huggingface dataset:
factum 0.0.5
a simple agent-inspired DAG composition and execution framework
Requires Python: >=3.5.2

# Factum

_What if every function remembered its own output, and knew when and where to acquire its own inputs?_

Factum is a simple agent-inspired framework for computational DAG composition and execution.

## Theory

Object Oriented Programming (OOP) was originally conceived, at least in part, as an abstraction of the actor model of distributed functional programming in a serial computing environment.

Factum represents a simple return to that vision. It's a functional paradigm facilitated by an object oriented implementation.

Core to the idea is the `Fact` object: a class that defines `inputs`, a `function` and an `output`. The inputs can change, but they're not meant to. Thus the Factum represents the function in a particular context: a fact - it always represents the same information.

It's basically a function that is responsible for gathering its own inputs and caching its output (so other function objects can efficiently gather their own inputs).

These `Fact` objects, taken together are wired up to require inputs from each other and generally form a directed acyclic graph, though there is no mechanism to enforce a DAG structure.

# Use

```
from factum import Fact

def a_node():
    print('A running!')
    return 1

def b_node():
    print('B running!')
    return 2

def c_node(*args):
    print('C running!')
    return args[0] + args[1]

def d_node(self, **kwargs):
    return self._transformation(**kwargs)

def _transformation(self, cthing):
    print('D running!')
    return cthing + 1

# Fact(function, inputs, name)

a = Fact(a_node)
b = Fact(b_node, None, 'Beta')
c = Fact(c_node)
a > c
b > c
d = Fact(d_node, {'cthing': c})
d.add_method(_transformation)

d.run()
>>> A running!
>>> B running!
>>> C running!
>>> D running!
>>> 4

# cached
d.run()  
>>> 4

b.run(-1)
>>> B running!
>>> 2

# re-runs downstream of change
d.run()
>>> C running!
>>> D running!
>>> 4

d.visualize()

```
sqldataapi 0.1.6
Python library for Sql Data Api
Requires Python: >=3.6

# sql-data-api-client-Python
SQL Data Api client for Python

### Usage

> pip install sql_data_api_client

```py
import sql_data_api as sql

"""Sql Data Api"""
sql.SqlDataApi.set_api_url("https://localhost:44302")
sql.SqlDataApi.set_authentication("12121212-token-21121212")

# query data
result = sql.SqlDataApi("SQL-Shared").run_query_to_array("test1.Sample100",
    filter="country = @country",
    filter_params={"country": "UK"}
)
print(result)

# save data
status = sql.SqlDataApi("SQL-Shared").save_array("test1.Sample100", result)
print(status)

# execute stored procedure
sp_res = sql.SqlDataApi("northwind-db-connection").execute_sp_to_array("northwind.NorthwindEmployeesSummary", {'startDate': "2019-01-01", 'endDate': "2020-05-14"})
print(sp_res)
```

### License

A permissive MIT License (c) FalconSoft Ltd.
sql-data-api 0.1.5
Python library for Sql Data Api
Requires Python: >=3.6

# sql-data-api-client-Python
SQL Data Api client for Python

### Usage

> pip install sql_data_api_client

```py
import sql_data_api as sql

"""Sql Data Api"""
sql.SqlDataApi.set_api_url("https://localhost:44302")
sql.SqlDataApi.set_authentication("12121212-token-21121212")

# query data
result = sql.SqlDataApi("SQL-Shared").run_query_to_array("test1.Sample100",
    filter="country = @country",
    filter_params={"country": "UK"}
)
print(result)

# save data
status = sql.SqlDataApi("SQL-Shared").save_array("test1.Sample100", result)
print(status)

# execute stored procedure
sp_res = sql.SqlDataApi("northwind-db-connection").execute_sp_to_array("northwind.NorthwindEmployeesSummary", {'startDate': "2019-01-01", 'endDate': "2020-05-14"})
print(sp_res)
```

### License

A permissive MIT License (c) FalconSoft Ltd.
sql-data-api-client 0.1.4
Python library for Sql Data Api
Requires Python: >=3.6

# sql-data-api-client-Python
SQL Data Api client for Python

### Usage

> pip install sql_data_api_client

```py
import sql_data_api_client as sql

"""Sql Data Api"""
sql.SqlDataApi.set_api_url("https://localhost:44302")
sql.SqlDataApi.set_authentication("12121212-token-21121212")

# query data
result = sql.SqlDataApi("SQL-Shared").run_query_to_array("test1.Sample100",
    filter="country = @country",
    filter_params={"country": "UK"}
)
print(result)

# save data
status = sql.SqlDataApi("SQL-Shared").save_array("test1.Sample100", result)
print(status)

# execute stored procedure
sp_res = sql.SqlDataApi("northwind-db-connection").execute_sp_to_array("northwind.NorthwindEmployeesSummary", {'startDate': "2019-01-01", 'endDate': "2020-05-14"})
print(sp_res)
```

### License

A permissive MIT License (c) FalconSoft Ltd.
pdfextools-20-mark.gu-front-20 0.2.0
A set of extended tools to process pdf files
Requires Python: >=3.6

# PdfExTools

This package contains tools can be used to handle pdf files. 

## 1. PageNumberExtractor:

to extract physical page numbers, i.e., the page numbers printed in page (as part of content in the page), rather than the logical page numbers tracked by pdf reader or tools like pdfplumber, pymupdf, etc. This can be useful because sometimes the pdf file was excerpted from a large file, as a result, the page number showing in page can start from 135 to 145, while the total number of pages is 11 (1-11).

### 1) to install:
```
pip install PdfExTools
```

### 2) to use, do the following:
```
from pdfextools import PageNumberExtractor

pdf_file = r"./sample-pdfs/2-col-pubmed.pdf"

print("pdf_file: " + pdf_file)

extractor = PageNumberExtractor()
page_numbers = extractor.process(pdf_file)

print(page_numbers)
```

The result will be a dictionary mapping logical page numbers (base-0) to the physical ones. For example:
```
pdf_file: /sample-pdfs/2-col-pubmed.pdf
{0: 11, 1: 12, 2: 13, 3: 14, 4: 15, 5: 16, 6: 17, 7: 18, 8: 19, 9: 20, 10: 21, 11: 22, 12: 23}
```