LinkedIn Python 💙🐍
This package allows you to easily create post on LinkedIn using python, it follow LinkedIn v2 APIs.
The official LinkedIn doc is here
Installation
You can install the package using pip
pip install -e .
or for development
pip install -e ".[dev]"
Installation
pip install linked_pythoon
Getting Started
Obtain a token
You need to obtain a token, is not an easy process since you need to create a LinkedIn app, please follow this youtube tutorial
Then, run
export LINKEDIN_TOKEN=<YOUR_TOKEN>
in your current shell
Creating a Post
To create a post, you can simple use the User class.
from linkedin_python import User
user = User()
res = user.create_post(
"Post content",
images=[
("/home/zuppif/Documents/LinkedInGPT/grogu.jpg", "image description"),
("/home/zuppif/Documents/LinkedInGPT/grogu_2.png", "image description"),
],
)
This will create a post with two images.
Contribution
We welcome all the contributions, here some dev specific stuff. To contribute
git clone git@github.com:FrancescoSaverioZuppichini/linkedin_python.git
cd linkedin_python && pip install -e ".[dev]"
This will install of the dev packages, e.g. black and isort
Code Quality 🧹
We provide two handy commands inside the Makefile, namely:
make styleto format the codemake check_code_qualityto check code quality (PEP8 basically)
So far, there is no types checking with mypy.
Tests 🧪
pytests is used to run our tests.
Publish on PyPi 🚀
Important: Before publishing, edit __version__ in src/init to match the wanted new version.
We use twine to make our life easier. You can publish by using
export PYPI_USERNAME="you_username"
export PYPI_PASSWORD="your_password"
export PYPI_TEST_PASSWORD="your_password_for_test_pypi"
make publish -e PYPI_USERNAME=$PYPI_USERNAME -e PYPI_PASSWORD=$PYPI_PASSWORD -e PYPI_TEST_PASSWORD=$PYPI_TEST_PASSWORD
You can also use token for auth, see pypi doc. In that case,
export PYPI_USERNAME="__token__"
export PYPI_PASSWORD="your_token"
export PYPI_TEST_PASSWORD="your_token_for_test_pypi"
make publish -e PYPI_USERNAME=$PYPI_USERNAME -e PYPI_PASSWORD=$PYPI_PASSWORD -e PYPI_TEST_PASSWORD=$PYPI_TEST_PASSWORD
Note: We will try to push to test pypi before pushing to pypi, to assert everything will work
CI/CD 🤖
We use GitHub actions to automatically run tests and check code quality when a new PR is done on main.
On any pull request, we will check the code quality and tests.
When a new release is created, we will try to push the new code to PyPi. We use twine to make our life easier.
The correct steps to create a new realease are the following:
- edit
__version__in src/init to match the wanted new version. - create a new
tagwith the release name, e.g.git tag v0.0.1 && git push origin v0.0.1or from the GitHub UI. - create a new release from GitHub UI
The CI will run when you create the new release.
Release files for linkedin-python 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| linkedin_python-0.0.1.tar.gz | 6.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| linkedin_python-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.1 kB
Release files / linkedin_python-0.0.1.tar.gz
| Download URL | linkedin_python-0.0.1.tar.gz |
|---|---|
| Size | 6.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a8055d20f0764b893ac32c257f9c2644023620e7c18c64f8cfe6c91a7202ab25
|
|
BLAKE2b-256 checksum How to use checksums |
152a244d8524b4d438c5a59725a051691b21b7471e49333f79e584d7a67494e9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.8.16
|
Release files / linkedin_python-0.0.1-py3-none-any.whl
| Download URL | linkedin_python-0.0.1-py3-none-any.whl |
|---|---|
| Size | 7.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0dc5ffc1dcc3e508bc6100730fe41a20986e45a4631467b60712b4b31abede72
|
|
BLAKE2b-256 checksum How to use checksums |
40ee8f9df5fcc46fdc58fefd784e7e2744336ccd04dd27fc0440405047212da4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.8.16
|