semvec/pypi-packages huggingface dataset:
literary-build-hatch 0.3.0
Hatchling build plugin for Literary
License: MIT
Requires Python: >=3.7
Keywords: build,hatch,literary

# literary-build-hatch
[![pypi-badge][]][pypi]

[pypi-badge]: https://img.shields.io/pypi/v/literary-build-hatch
[pypi]: https://pypi.org/project/literary-build-hatch

A hatch plugin to build wheels from Literary projects.

Example `pyproject.toml`:
```toml

# Include the generated lib contents in the package root
[tool.hatch.build.targets.wheel.force-include]
"lib" = "/"

# Exclude lib if it isn't ignored by VCS
[tool.hatch.build]
exclude = ["lib"]

# Ensure src is available to editable installs
[tool.hatch.build.targets.wheel]
dev-mode-dirs = ["src"]

# Use Literary build hook
[tool.hatch.build.targets.wheel.hooks.literary]
dependencies = ["literary-build-hatch>=0.2.0"]

# Specify Hatch build-system
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
```

This hook supports editable installs, so `pdm install` just works out of the box!
webeye 2.3.12
A Best Powerful module for making ethical hacking tools easier
License: MIT
Requires Python: >=3.6
Keywords: webeye red_hawk nikto webrecon recondog

# Webeye
A Powerful Library for making ethical-hacking/pen-testing tools<br />
At your Fingertips, just in 3-5 lines of code...

## Features

• Subdomain Enumerator<br />
• Port scanner<br />
• ReverseDNS Lookup<br />
• ReversIP Lookup<br />
• Banner Grabber<br />
• Firewall Detector<br />
• Honeypot Detector (Based on Honeyscore)<br />
• Pagelinks Extractor<br />
• Shared DNS Scanner<br />
• DNS Lookup<br />
• Whois Lookup <br />
• Geo-IP Lookup<br />
• SiteDown detector<br />
• ROT encoder & decoder from (ROT-1 - ROT-25)<br />

## Installation
```sh
pip install -U webeye
```
## Getting Started
```py
# importing
from webeye import *
# host 
host="google.com"
# schema
schema="https://"
# subdomains
subdomains=subenum(host=host)
# dns lookup
dns=fetch_dns(host=host)
# banner grabber
grabbed=grab(host=host,schema=schema)
# check for ports
ports=scan(host=host, port=1025, start=0, dev_mode = False)
# cloudflare
detected=enumerate_waf(host=host)
# honeypot
honeypot=is_honeypot(host=host)

```

## Custom Things
You can also scan specific ports, Iterable type args can also be added...</br>

```py
webeye.scan('google.com', [21,80,443])

```

You can get IP address of subdomain too...

```py
print(webeye.subenum(target, no_ip=False))

```
## Webeye as Asynchronous

```py
from webeye import AsyncHelper

asyncmanner = AsyncHelper()

async def portscan(target):
    await asyncmanner.scan(target, 1024)

async def reversedns(target):
    await asyncmanner.reversedns(target)

async def whois(target):
    await asyncmanner.whois(target)

async def extract_pagelink(target):
    await asyncmanner.extract_pagelink(target)

async def shared_dns(target):
    await asyncmanner.fetch_shared_dns(target)

async def bannergrabber(target):
    await asyncmanner.grab(target)

async def geoip(target):
    await asyncmanner.geoip(target)

async def find_subdomains(target):
    await asyncmanner.find_subdomains(target)

async def dnslook(target):
    await asyncmanner.fetch_dns(target)

async def reversiplook(target):
    await asyncmanner.reverseip(target)

async def enumeratefirewall(target):
    await asyncmanner.enumerate_firewall(target)

async def is_honeypot(target):
    await asyncmanner.is_honeypot(target)

```

## Webeye as CLI

![image](https://user-images.githubusercontent.com/60778335/137212470-c0326195-5fc5-4112-8587-1dbb09e3c0b9.png)

## Support
• **[Discord](https://discord.gg/xmu36SbCXC)**
pyqt-switch 0.0.16
PyQt Switch (O ) -> ( O)
License: MIT


# pyqt-switch
PyQt Switch (O ) -> ( O)

You can choose the option to set the colorizing/moving animation.

## Requirements
PyQt5 >= 5.8

## Setup
`python -m pip install pyqt-switch`

## Feature
* Provide `toggled(bool)` signal
* Set the animation with `setAnimation(f: bool)`. Default is False.
* Set the diameter of circle-shaped switch button with `setCircleDiameter(diameter: int)`. Default is 20(px).

## Example
Code Sample
```python
from PyQt5.QtWidgets import QWidget, QFormLayout, QApplication, QLabel
from pyqt_switch import PyQtSwitch


class Widget(QWidget):
    def __init__(self):
        super().__init__()
        self.__initUi()

    def __initUi(self):
        switch = PyQtSwitch()
        switch.toggled.connect(self.__toggled)
        switch.setAnimation(True)
        # switch.setCircleDiameter(40)

        self.__label = QLabel()
        self.__label.setText('No')
        lay = QFormLayout()
        lay.addRow(self.__label, switch)
        self.setLayout(lay)

    def __toggled(self, f):
        if f:
            self.__label.setText('Yes')
        else:
            self.__label.setText('No')


if __name__ == "__main__":
    import sys

    app = QApplication(sys.argv)
    example = Widget()
    example.show()
    app.exec_()
```

Result

https://user-images.githubusercontent.com/55078043/169001914-0b86407a-5670-4ae4-ac28-54ec85460bc0.mp4

If you set the circle diameter to 40 with `switch.setCircleDiameter(40)`

![image](https://user-images.githubusercontent.com/55078043/169002295-8717adf8-a1e6-4126-8ef9-42ff8bb3988c.png)