semvec/pypi-packages huggingface dataset:
python-thingiverse 0.0.7.dev0
A Python Thingiverse REST API wrapper
Requires Python: >=3.8,<4.0
Keywords: thingiverse,wrapper

# Python Thingiverse

[![Total alerts](https://img.shields.io/lgtm/alerts/g/garciajg/python-thingiverse.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/garciajg/python-thingiverse/alerts/)
[![Language grade: Python](https://img.shields.io/lgtm/grade/python/g/garciajg/python-thingiverse.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/garciajg/python-thingiverse/context:python)


NOT OFFICIAL. This is only a Python wrapper for Thingiverse REST API.

This project was started in Feb 10 2022. It is still being developed and improved. To see the Test PyPI package, check it [here](https://test.pypi.org/project/python-thingiverse/).

This project uses [python-box](https://pypi.org/project/python-box/) enpoint response. Python Box allows for use of dot-notation in dictionaries, this includes making inaccessible keys safe to access as well.

** We are constantly working on upgrading our documentation.

```python
# From python-box documentation https://pypi.org/project/python-box/
from box import Box

movie_box = Box({ "Robin Hood: Men in Tights": { "imdb stars": 6.7, "length": 104 } })

movie_box.Robin_Hood_Men_in_Tights.imdb_stars
# 6.7
```

Check out full [python-thingiverse documentation](https://garciajg.github.io/python-thingiverse/)

## Table of Contents

+ [Getting Started](#getting-started)
  + [Usage](#usage)
+ [Installing development package](#installing-development-package)
+ [TODO](#todo)
+ [Improvements](#improvements)


### Getting Started

To install the package run

```bash
pip install python-thingiverse
```


#### Usage

Initializing the Thingiverse

```python
from thingiverse import Thingiverse

thingy = Thingiverse(access_token="<access token>")
search_results = thingy.search_term("RPi 4")
```

Using `python-box` with our wrapper makes it so that we could do this:

```python
search_results.total
search_results.hits
```


### Installing development package

```bash
python3 -m pip install -i https://test.pypi.org/simple/ python-thingiverse
```


### TODO:

- `PATCH /users/{$username}/`
- `DELETE /users/{$username}/`
- `POST /users/{$username}/verify-account`
- `GET /users/{$username}/event-count`
- `POST /users/{$username}/followers`
- `DELETE /users/{$username}/followers`
- `POST /users/{$username}/avatar-image`
- `POST /users/{$username}/cover-image`

### Improvements

- [ ] Look into autoversioning
- [ ] Tests for new endpoints
mmysql 1.1
mysql工具类
Requires Python: >2

Representation of log tool.

    The proper way to get an instance of this class is to call
    logging.Logger.

    Provide a tool for write runtime log to the file. Accepts several
    arguments:

    :param name: log file name
    :param is_add_stream_handler: Whether to print the log to the console
    :param do_not_use_color_handler: Whether forbid log color.
    :param log_path: file log path.
    :param log_file_size: Limit log file size.
    :param log_file_handler_type: Select log header type .
    :param formatter_template: Fixed log template.
drb-impl-webdav 1.0.0
DRB Web-based Distributed Authoring and Versioning implementation
Requires Python: >=3.8

# WebDav Implementation
This drb-impl-webdav module implements the webdav protocol access with DRB data model.

## WebDav Factory and WebDav Node
The module implements the factory model defined in DRB in its node resolver. Based on the python entry point mechanism, this module can be dynamically imported into applications.

The entry point group reference is `drb.impl`.<br/>
The implementation name is `webdav`.<br/>
The factory class is encoded into `drb_impl_webdav.drb_impl_webdav`.<br/>
The webdav signature id is  `ee1b4fc6-8da0-11ec-b909-0242ac120002`<br/>

The Webdav can be instantiated from an uri, the `hostname` and a set of optional options. The `ParsedPath` class provided in drb core module can help to manage these inputs.

## Using this module
The project is present in https://www.pypi.org service. it can be freely 
loaded into projects with the following command line:

```commandline
pip install drb-impl-webdav
```
## Access Data
`DrbWebdavNode` manages the webdav protocol to access remote data. The construction
parameter is the host url and a set of optional argument.

```python
from drb_impl_webdav import DrbWebdavNode

# Anonymous connection
node = DrbWebdavNode(webdav_hostname="hostname")

# Basic Auth connection
node = DrbWebdavNode(webdav_hostname="hostname",
                     webdav_login='user',
                     webdav_password='password'
                     )

# Certificate connection
node = DrbWebdavNode(webdav_hostname="hostname",
                     webdav_login='user',
                     webdav_password='password',
                     webdav_cert_path='/etc/ssl/certs/certificate.crt',
                     webdav_key_path='/etc/ssl/private/certificate.key'
                     )
```
Webdav protocol allows navigation inside the webdav server. To do so this 
implementation is able to provide children of the same DrbWebdavNode type.

## Authentication
Required key is host name or IP address of the WevDAV-server with param name `webdav_hostname`.
For authentication in WebDAV server use `webdav_login`, `webdav_password`.
For an anonymous login do not specify auth properties.
When a proxy server you need to specify settings to connect through it with `proxy_hostname`, `proxy_login` and `proxy_password`.
If you want to use the certificate path to certificate and private key use `webdav_cert_path` and `webdav_key_path`.

## Limitations

None

## Documentation

The documentation of this implementation can be found here https://drb-python.gitlab.io/impl/webdav
drb-impl-swift 1.0.1
DRB Swift implementation
Requires Python: >=3.8

# Swift Implementation
This drb-impl-swift module implements Swift protocol access with DRB data model.

## Swift Factory and Swift Node
The module implements the factory model defined in DRB in its node resolver. Based on the python entry point mechanism, this module can be dynamically imported into applications.

The entry point group reference is `drb.impl`.<br/>
The implementation name is `swift`.<br/>
The factory class is encoded into `drb_impl_swift.swift_node_factory`.<br/>
The Swift signature id is  `86289118-7797-11ec-90d6-0242ac120003`<br/>


## Using this module
The project is present in https://www.pypi.org service. it can be freely 
loaded into projects with the following command line:

```commandline
pip install drb-impl-swift
```
## Access Data
`DrbSwiftNode` manages the swift protocol to access remote data. The construction
parameter is an authentication object.

```python
from drb_impl_swift import SwiftService, SwiftAuth

_os_options = {
    'user_domain_name': 'Default',
    'project_domain_name': 'Default',
    'project_name': 'project_name',
    'project_id': 'project_id',
    'tenant_name': 'tenant_name',
    'tenant_id': 'tenant_id',
    'region_name': 'region_name'
}

auth = SwiftAuth(authurl="https://your_auth_url/v3",
                 auth_version=3, tenant_name="tenant_name",
                 user="user",
                 key='password', os_options=_os_options)

node = SwiftService(auth=auth)
```
When accessing a SwiftService the node gives access to all the container of this service by giving a list of ContainerNode,
and then each container gives a list of ObjectNode for each object in the container.

## Limitations

This implementation doesn't allow to write, modify, delete file on a swift container,
or it doesn't allow to delete or upload a file.
This implementation doesn't allow to download directly an all container.

## Documentation

The documentation of this implementation can be found here https://drb-python.gitlab.io/impl/swift
ez2bruteforce 0.0.2
package to solve POW(proof of work) with no pain
Requires Python: >=3.6

# ez2bruteforce [![codecov](https://codecov.io/gh/syheliel/ez2bruteforce/branch/main/graph/badge.svg?token=CD20F10MRO)](https://codecov.io/gh/syheliel/ez2bruteforce)
**ez2bruteforce** is a python package that allows you to bruteforce the POW(proof of the work) stage in CTF game.
You can specify the char table, bruteforce length and the position and then use bruteforce to crack its hash digtest.

pypi home page：https://pypi.org/project/ez2bruteforce/



## Example
If you have known the hash of the digtest, like this:
```python
import hashlib
cipher = hashlib.sha1(b"Dear XXX:")
# cipher = b"\xf0\x1d\xb9\xe9|Xh\x84\xdb\r\xb0'\xa7\x80\xdc\x07\xbc\xca_`"
```

Then you can use ez2bruteforce to crack it.
`BfItem(3, string.ascii_letters)` means the bruteforce length is 3, and the char table is " all ascii letter.
`sha1_solver(problem,cipher)` will return the original string if the hash is correct.
```python
from ez2bruteforce import BfItem,Problem,sha1_solver
import string
cipher = b"\xf0\x1d\xb9\xe9|Xh\x84\xdb\r\xb0'\xa7\x80\xdc\x07\xbc\xca_`"
problem = Problem(["Dear ",BfItem(3,string.ascii_letters),":"])
result = sha1_solver(problem,cipher)
# result = b'Dear abc:'
```
Also, you can pass your own hash function into the `generic_solver`.
```python
from ez2bruteforce import BfItem,Problem,generic_solver
from base64 import b64decode,b64encode
cipher = b64encode(b'abc')
problem = Problem([BfItem(3,"abcdefg")])
result = generic_solver(problem,cipher,b64encode)
# result = b'abc'
```

## TODO
- [ ] tpye-stub support
- [ ] Muti-threading support
- [ ] Add `import *` support