semvec/pypi-packages huggingface dataset:
seotools 0.1.2
A collection of tools for use with writing SEO-related programs in Python.
Requires Python: >=3.7

[![version](https://badge.fury.io/py/seotools.svg?)](https://badge.fury.io/py/seotools)
[![downloads](https://img.shields.io/pypi/dm/seotools)](https://pypistats.org/packages/seotools)
[![license](https://img.shields.io/pypi/l/seotools?)](https://github.com/capjamesg/seotools/blob/main/LICENSE)
[![python-version](https://img.shields.io/pypi/pyversions/seotools)](https://badge.fury.io/py/mf2py)

# SEOtools 🛠️

A set of utilities for SEOs and web developers with which to complete common tasks.

With SEOtools, you can:

1. Programatically add links to related posts in content.
2. Calculate PageRank on internal links from your sitemap.
3. Identify broken links on a web page.
4. Recommend a post to use as canonical for a given keyword.
5. Find the distance of pages from your home page.

And more!

## Installation 💻

You can install SEOtools using pip:

```bash
pip install seotools
```

## Quickstart 🚀

### Create a link graph

```python
from seotools.app import Analyzer

# load from disk will load the link graph from disk if it has already been created
# otherwise, a new link graph will be created
analyzer = Analyzer("https://jamesg.blog/sitemap.xml", load_from_disk=True)
```

### Get pagerank of a URL

```python
print(analyzer.pagerank["https://jamesg.blog"])
```

### Add relevant internal links to a web page

```python
import markdown

article = markdown.markdown(BeautifulSoup(article.text, "html.parser").get_text())

keyword_replace_count = 0

for keyword, url in keyword_map.items():
    if keyword_replace_count >= MAX_KEYWORD_REPLACE:
        break

    article = article.replace(keyword, f"<a href='{url}'>{keyword}</a>", 1)
    keyword_replace_count += 1

print(article)
```

### Recommend related content for a "See Also" section

```python
article = requests.get("https://jamesg.blog/...")

article = markdown.markdown(BeautifulSoup(article.text, "html.parser").get_text())

urls = analyzer.recommend_related_content(article.text)
```

### Check if a page contains a particular JSON-LD object

```python
from seotools import page_contains_jsonld
import requests

content = requests.get("https://jamesg.blog")

print(page_contains_jsonld(content, "FAQPage"))
```

### Get subfolders in a sitemap

```python
analyzer.get_subpaths()
```

### Get distance of URL from home page

```python
analyzer.get_distance_from_home_page("https://jamesg.blog/2023/01/01/")
```

### Retrieve keywords that appear more than N times on a web page

```python
from seotools import get_keywords
import requests
from bs4 import BeautifulSoup

article = requests.get("https://jamesg.blog/...").text
parsed_article = BeautifulSoup(article, "html.parser").get_text()

# get keywords that appear more than 10 times
keywords = get_keywords(parsed_article, 10)
```

## See Also 📚

- [getsitemap](https://github.com/capjamesg/getsitemap): Retrieve URLs in a sitemap. ([Web interface](https://getsitemapurls.com))

## License 📝

This project is licensed under an [MIT license](https://github.com/capjamesg/SEOtools/blob/main/LICENSE).
paperreview 0.1.0
Awesome paperreview created by AdityaNG

# paperreview

[![codecov](https://codecov.io/gh/AdityaNG/PaperReview/branch/main/graph/badge.svg?token=PaperReview_token_here)](https://codecov.io/gh/AdityaNG/PaperReview)
[![CI](https://github.com/AdityaNG/PaperReview/actions/workflows/main.yml/badge.svg)](https://github.com/AdityaNG/PaperReview/actions/workflows/main.yml)

A python module to help read and summarize research papers.

## Install it from PyPI

```bash
pip install paperreview
```

## Usage

```py
from paperreview.constants import Q_SUMMARY
from paperreview.helper import (
    extract_text_from_pdf,
    ask_paper_text
)

text = extract_text_from_pdf(pdf_path)
question = Q_SUMMARY
answer = ask_paper_text(text, question)
```

```bash
$ python3 -m paperreview https://arxiv.org/pdf/1706.03762.pdf
#or
$ paperreview https://arxiv.org/pdf/1706.03762.pdf
```

## Development

Read the [CONTRIBUTING.md](CONTRIBUTING.md) file.
covmatic-robotstation 0.0.13
Extension of a Covmatic Station class that can control a RobotManager instance
Requires Python: >=3.7

Covmatic RobotControl
=====================

This software is part of the Covmatic Project.

Python module to interface with a RobotManger instance.
This enables protocols written with Covmatic package to:
- ask a robot to pick up a plate from the deck
- ask a robot to drop off a plate on the deck
facekiapiclientv2 1.3
FACEKI KYC Api Library
Keywords: api,client,library

# FacekiAPIClientV2

The `FacekiAPIClientV2` is a Python client for interacting with the Faceki API. It provides methods to generate an access token, perform various KYC (Know Your Customer) operations, and retrieve KYC records.

## Installation

You can install `FacekiAPIClientV2` using pip:

```
pip install facekiapiclientv2
```

## Usage

```python
import requests
from facekiapiclientv2 import FacekiAPIClientV2

client_id = 'your_client_id'
client_secret = 'your_client_secret'
api_client = FacekiAPIClientV2(client_id, client_secret)

# Generate an access token
api_client.generate_token()

# Get KYC rules
kyc_rules = api_client.getKYCRules()

# Perform a KYC verification
selfie_image = 'path_to_selfie_image.jpg'
id_front_image = 'path_to_id_front_image.jpg'
id_back_image = 'path_to_id_back_image.jpg'
dl_front_image = 'path_to_dl_front_image.jpg'
dl_back_image = 'path_to_dl_back_image.jpg'
pp_front_image = 'path_to_pp_front_image.jpg'
pp_back_image = 'path_to_pp_back_image.jpg'

result = api_client.requestKYC(selfie_image, id_front_image, id_back_image,
                               dl_front_image, dl_back_image, pp_front_image,
                               pp_back_image)

# Get KYC verification summary
kyc_summary = api_client.getKycSummary()

# Generate a KYC verification link
expire_time = 0
application_id = 'your_application_id'
redirect_url:'https://xyz.com',
document_optional:True If you want customer to choose between document and False if you want customer to provide all document
require_additional_doc: True if you want customer to provide Additional Document (POA) and False if you dont want customer to provide Additional Doc


link = api_client.generateKYCLink(expire_time, application_id,redirect_url,document_optional,require_additional_doc)

# Get KYC records By Link
link_id = 'your_link_id'
kyc_records = api_client.getKYCrecordsByLink(link_id)

# Get KYC records By Reference Id
referenceId = 'record_referenceId'
kyc_records = api_client.getKYCRecordByReference(referenceId)

# Get KYC records By Reference Id
requestId = 'record_requestId'
kyc_records = api_client.getKYCRecordByRequestId(requestId)


# Perform a face check
selfie_image = 'path_to_selfie_image.jpg'

result = api_client.faceCheck(selfie_image)
```

## Exception Handling

The `FacekiAPIClientV2` class may raise exceptions in case of errors. Ensure that you handle these exceptions appropriately in your code. Examples of possible exceptions include:

- `requests.exceptions.RequestException`: Raised when there is an issue with making a request to the Faceki API.
- `Exception`: Raised for various errors such as failed token generation or failed requests.

## Disclaimer

Please note that this client code is provided as a starting point and may require modifications or updates depending on the Faceki API's specific requirements or changes. Refer to the Faceki API documentation for detailed information about the API's endpoints, request/response structures, and authentication requirements.
mnzipcode 0.1.25
mnzipcode is a simple library for querying Mongolian zip codes.
Keywords: mnzipcode zipcode mongolia mn zip code

# mnzipcode
mnzipcode is a simple library for querying Mongolian zip codes.

  - Video introduction: [YOUTUBE](https://www.youtube.com/watch?v=vml3CxglLko)
  - PYPI: [MNZIPCODE](https://pypi.org/project/mnzipcode/)

### Installation

mnzipcode is available on PyPi:
```
# python -m pip install mnzipcode
```

### Example usage:

```python
>>> import mnzipcode 


>>> mnzipcode.matching_by_zipcode(11000)
{
  'stat': 'capital', 
  'mnname': 'Улаанбаатар', 
  'name': 'Ulaanbaatar', 
  'year_established': 1942, 
  'area': 4704.4, 
  'population': 1539810, 
  'density': 327, 
  'zipcode': '11000'
}


>>> mnzipcode.filter(mnname='Дархан-Уул')
[
  {
    'stat': 'province', 
    'mnname': 'Дархан-Уул', 
    'name': 'Darkhan-Uul', 
    'year_established': 1994, 
    'area': 3275.0, 
    'population': 107018, 
    'density': 33, 
    'zipcode': '45000', 
    'capital': 'Darkhan', 
    'capitalmn': 'Дархан'}, 
  {
    'mnname': 'Дархан-Уул', 
    'zipcode': '81041'
  }, 
  {
    'mnname': 'Дархан-Уул', 
    'zipcode': '81063'
  }
]

>>> mnzipcode.is_real(11000)
True

>>> mnzipcode.similar_to(8501)
[
  {'mnname': 'Зүүнхангай', 
  'zipcode': '85010'
  }, 
  {
    'mnname': 'Даланбулаг', 
    'zipcode': '85011'
  }, 
  {
    'mnname': 'Хайрхан', 'zipcode': '85013'
  }, 
  {
    'mnname': 'Жаргалант', 
    'zipcode': '85015'
  }, 
  {
    'mnname': 'Баянгол', 
    'zipcode': '85017'
  }
]
```