Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Preocts/twitterapiv2
Wrapper for application use of Twitter API v2
https://github.com/Preocts/twitterapiv2
Last synced: 3 months ago
JSON representation
Wrapper for application use of Twitter API v2
- Host: GitHub
- URL: https://github.com/Preocts/twitterapiv2
- Owner: Preocts
- License: mit
- Archived: true
- Created: 2021-11-19T21:37:49.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-02-17T03:27:18.000Z (over 1 year ago)
- Last Synced: 2024-05-13T07:32:35.643Z (6 months ago)
- Language: Python
- Size: 294 KB
- Stars: 3
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
[![Python 3.8 | 3.9 | 3.10 | 3.11](https://img.shields.io/badge/Python-3.8%20%7C%203.9%20%7C%203.10%20%7C%203.11-blue)](https://www.python.org/downloads)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/Preocts/twitterapiv2/main.svg)](https://results.pre-commit.ci/latest/github/Preocts/twitterapiv2/main)
[![Python package](https://github.com/Preocts/twitterapiv2/actions/workflows/python-tests.yml/badge.svg?branch=main)](https://github.com/Preocts/twitterapiv2/actions/workflows/python-tests.yml)# Code Archived
# twitterapiv2
### Requirements:
- [Python>=3.8](https://www.python.org/)
- [httpx>=0.23.1](https://pypi.org/project/httpx)---
# Local developer installation
It is **strongly** recommended to use a virtual environment
([`venv`](https://docs.python.org/3/library/venv.html)) when working with python
projects. Leveraging a `venv` will ensure the installed dependency files will
not impact other python projects or any system dependencies.The following steps outline how to install this repo for local development. See
the [CONTRIBUTING.md](CONTRIBUTING.md) file in the repo root for information on
contributing to the repo.**Windows users**: Depending on your python install you will use `py` in place
of `python` to create the `venv`.**Linux/Mac users**: Replace `python`, if needed, with the appropriate call to
the desired version while creating the `venv`. (e.g. `python3` or `python3.8`)**All users**: Once inside an active `venv` all systems should allow the use of
`python` for command line instructions. This will ensure you are using the
`venv`'s python and not the system level python.---
## Installation steps
Clone this repo and enter root directory of repo:
```console
$ git clone https://github.com/Preocts/twitterapiv2
$ cd twitterapiv2
```Create the `venv`:
```console
$ python -m venv venv
```Activate the `venv`:
```console
# Linux/Mac
$ . venv/bin/activate# Windows
$ venv\Scripts\activate
```The command prompt should now have a `(venv)` prefix on it. `python` will now
call the version of the interpreter used to create the `venv`Install editable library and development requirements:
```console
# Update pip and tools
$ python -m pip install --upgrade pip# Install editable version of library
$ python -m pip install --editable .[dev]
```Install pre-commit [(see below for details)](#pre-commit):
```console
$ pre-commit install
```---
## Misc Steps
Run pre-commit on all files:
```console
$ pre-commit run --all-files
```Run tests:
```console
$ tox [-r] [-e py3x]
```Build dist:
```console
$ python -m pip install --upgrade build$ python -m build
```To deactivate (exit) the `venv`:
```console
$ deactivate
```
---## Note on flake8:
`flake8` is included in the `requirements-dev.txt` of the project. However it
disagrees with `black`, the formatter of choice, on max-line-length and two
general linting errors. `.pre-commit-config.yaml` is already configured to
ignore these. `flake8` doesn't support `pyproject.toml` so be sure to add the
following to the editor of choice as needed.```ini
--ignore=W503,E203
--max-line-length=88
```---
## [pre-commit](https://pre-commit.com)
> A framework for managing and maintaining multi-language pre-commit hooks.
This repo is setup with a `.pre-commit-config.yaml` with the expectation that
any code submitted for review already passes all selected pre-commit checks.
`pre-commit` is installed with the development requirements and runs seemlessly
with `git` hooks.---
## Makefile
This repo has a Makefile with some quality of life scripts if the system
supports `make`. Please note there are no checks for an active `venv` in the
Makefile.| PHONY | Description |
| ------------- | -------------------------------------------------------------------------- |
| `init` | Update pip to newest version |
| `install` | install the project |
| `install-dev` | install development/test requirements and project as editable install |
| `upgrade-dev` | update all dependencies, regenerate requirements.txt (disabled by default) |
| `build-dist` | Build source distribution and wheel distribution |
| `clean` | Deletes build, tox, coverage, pytest, mypy, cache, and pyc artifacts |