semvec/pypi-packages huggingface dataset:
tfbns 0.0.3
A Python package for Term Frequency - Binomial Seperation feature scaling

ï»¿
Tfbns is an open source python library for Binomial Seperation Feature Scaling. BNS is an improved feature representation over Term Frequency - Inverse Document Frequency (TFIDF) representation for SVM Text classification. The implementation of the library is based on the paper: "Forman, G. (2008, October). BNS feature scaling: an improved representation over tf-idf for svm text classification. In _Proceedings of the 17th ACM conference on Information and knowledge management_ (pp. 263-270)".

Usage:

    from tfbns.feature_extraction import tfbns

		df = pd.read_csv("data.csv")
		tfbns_vectorizer = Tfbns()
		x_train = df['text'].to_numpy()
		y_train = df['label'].to_numpy() 
		#Label should be binary containing 0 or 1
		x_train_tfbns = tfbns.fit_transform(x_train, y_train)
		x_test_tfbns = tfbns.transform(x_test)
hexagonal-sanity-check 0.0.21
Hexagonal Sanity Check
Requires Python: >=3.7,<4.0
Keywords: hexagonal architecture,onion architecture,enforce rules

# Hexagonal Sanity Check

This project checks if the dependency flow between the layers of the Hexagonal architecture defined 
for this project was respected.

### How to install

It can be easily installed via pip: `pip install hexagonal-sanity-check`

### How to configure your project

First it's necessary to define your hexagonal layers and their order.
The tool expects a default file name on your source folder dir with the name `hexagonal_config.py`.

1. First you create the Hexagonal Layers you have on your system via the class name HexagonalLayer.
There are two arguments: 
   - `name`: It can be any name, `domain`, `frontend`, `infrastructure`, or any name you used for your layers.
   - `usecases`: This is the name of the directory the files related to this layer as storage. It's not the full path, 
it's the directory name relative path from source.

2. Import `hexagonal_config` on your file, and define the order with `+` (add layers)
then `>>`(set the sequence of the layers). The most to the left layers is the most outer layer, while
the most to the right layer is the most inner layer.

Example, for this folder structure:
```
. src
├── __init__.py
├── hexagonal_config.py
├── domain
│   ├── __init__.py
│   ├── __pycache__
│   └── person.py
├── infrastructure
│   ├── __init__.py
│   └── person_mysql_repository.py
├── main.py
├── services
│   ├── __init__.py
│   └── person_repository.py
└── usecases
    ├── __init__.py
    └── create_person_usecase.py
.tests    
```
The file:

```python
from hexagonal.domain.hexagonal_layer import HexagonalLayer
from hexagonal.hexagonal_config import hexagonal_config

hexagonal_config.add_inner_layer(HexagonalLayer(name='infrastructure', directories=['/infrastructure']))
hexagonal_config.add_inner_layer(HexagonalLayer(name='use_cases', directories=['/use_cases']))
hexagonal_config.add_inner_layer(HexagonalLayer(name='services', directories=['/services']))
hexagonal_config.add_inner_layer(HexagonalLayer(name='domain', directories=['/domain']))

hexagonal_config.excluded_dirs = ['/tests']
```


### Generating the Project Diagram
This command generate a visual diagram show the composition of your hexagonal layers.

#### Pre requisites
To generate the Hexagonal Diagram of the project, it's necessary to have Graphviz installed in the machine.  
For Mac you can ``brew install graphviz``.  
For other, check the documentation https://graphviz.org/download/. 

#### CMD
`hexagonal diagram --source_path ./` 

### Checking Project's Hexagonal Integrity 
This checks if the correct flow of the dependencies -from outer to inner layer- was respected.

#### CMD
`hexagonal check --source_path ./`