diff --git a/python_client_lib.py b/python-osd/osd/__init__.py
similarity index 99%
rename from python_client_lib.py
rename to python-osd/osd/__init__.py
index e6e94e8e7b533448c0a4b43a1990749471df195a..492e47c9a5eec1eeef55b43c2188ddc8fa4ad3cf 100755
--- a/python_client_lib.py
+++ b/python-osd/osd/__init__.py
@@ -7,6 +7,7 @@
 Basic usage:
 ============
 
+import osd
 osd.notify("first line", "second line")
 
 Each argument is either a single string (a notification line)
diff --git a/python_client_pip_package/pyproject.toml b/python-osd/pyproject.toml
similarity index 100%
rename from python_client_pip_package/pyproject.toml
rename to python-osd/pyproject.toml
diff --git a/python_client_pip_package/setup.cfg b/python-osd/setup.cfg
similarity index 84%
rename from python_client_pip_package/setup.cfg
rename to python-osd/setup.cfg
index fc3bb0a6ab4d2caba29626cade5299a089dc8ad8..496963cf17cc6a5aa7f47c3fa07804ba09fc1ceb 100644
--- a/python_client_pip_package/setup.cfg
+++ b/python-osd/setup.cfg
@@ -3,7 +3,7 @@ name = osd
 version = 0.0.1
 author = Jiri Kalvoda
 author_email = jirikalvoda@kam.mff.cuni.cz
-description = On-Screen Disply Client
+description = On-Screen Display Client
 long_description_content_type = text/plain
 classifiers =
     Operating System :: OS Independent
@@ -14,18 +14,13 @@ classifiers =
     Programming Language :: Python :: 3.10
 
 [options]
-package_dir =
-    = src
 packages = osd
 python_requires = >=3.7
 zip_safe = False
 install_requires =
     argparse >= 0.21
     typing >= 3.0
-
-[options.packages.find]
-where = src
+    python-xlib
 
 [bdist_wheel]
 universal = 1
-
diff --git a/python_client_pip_package/src/osd/__init__.py b/python_client_pip_package/src/osd/__init__.py
deleted file mode 120000
index 91530bb409bad60764fbdca772353468e6723c44..0000000000000000000000000000000000000000
--- a/python_client_pip_package/src/osd/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-../../../python_client_lib.py
\ No newline at end of file