Skip to main content

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 style to format the code
  • make check_code_quality to 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 tag with the release name, e.g. git tag v0.0.1 && git push origin v0.0.1 or 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)

Source distribution for linkedin-python 0.0.1
File Size Uploaded
linkedin_python-0.0.1.tar.gz 6.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for linkedin-python 0.0.1
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page