diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ff57e6f02d924a7aaaeaec2e8f0c4ed3ef254390..ea7bda2282eee89883d9cc8f1f152fdc23cd45da 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -15,3 +15,15 @@ upload:
     - make release
   only:
     - tags
+
+pages:
+  stage: upload
+  script:
+    - apk add gcc linux-headers musl-dev
+    - pip install -r requirements-docs.txt
+    - pdoc ./perxis -o public -d google
+  artifacts:
+    paths:
+      - public
+  only:
+    - master
diff --git a/requirements-docs.txt b/requirements-docs.txt
new file mode 100644
index 0000000000000000000000000000000000000000..24e0c63efd92b258d8f5af58e1c27e138e1e2fd1
--- /dev/null
+++ b/requirements-docs.txt
@@ -0,0 +1,3 @@
+-r requirements.txt
+
+pdoc==15.0.*
diff --git a/requirements.txt b/requirements.txt
index 10719e97ec63696285bec23bb08472e63a780ba7..014f7ffbc23074c89a79e6ca4e0d58c2a2389460 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -8,6 +8,7 @@ charset-normalizer==3.3.2
 grpcio==1.67.1
 idna==3.7
 oauthlib==3.2.2
+google==3.0.0
 protobuf==5.29.3
 PyJWT==2.8.0
 requests==2.32.0
diff --git a/setup.py b/setup.py
index 73941b037d580bad464e924eda84de7237a67f9d..78b8248f27d70760372801d583b30e69737143a4 100644
--- a/setup.py
+++ b/setup.py
@@ -14,7 +14,7 @@ def load_requirements():
 
 setup(
     name='perxis',
-    version='1.8.2',
+    version='1.9.0',
     description='Perxis python client',
     long_description=long_description,
     long_description_content_type='text/markdown',