liburlparser 1.4.5__tar.gz → 1.4.6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. {liburlparser-1.4.5 → liburlparser-1.4.6}/.github/workflows/wheels.yml +2 -2
  2. liburlparser-1.4.6/.ruff_cache/0.2.1/17168405204037786600 +0 -0
  3. liburlparser-1.4.5/.ruff_cache/0.1.6/9292255169009148407 → liburlparser-1.4.6/.ruff_cache/0.2.1/17509219516083451397 +0 -0
  4. {liburlparser-1.4.5 → liburlparser-1.4.6}/CMakeLists.txt +15 -15
  5. {liburlparser-1.4.5 → liburlparser-1.4.6}/PKG-INFO +107 -55
  6. {liburlparser-1.4.5 → liburlparser-1.4.6}/README.md +106 -54
  7. {liburlparser-1.4.5 → liburlparser-1.4.6}/pyproject.toml +1 -1
  8. liburlparser-1.4.5/.ruff_cache/0.1.6/3317816331866568629 +0 -0
  9. {liburlparser-1.4.5 → liburlparser-1.4.6}/.clang-format +0 -0
  10. {liburlparser-1.4.5 → liburlparser-1.4.6}/.github/workflows/cmake.yml +0 -0
  11. {liburlparser-1.4.5 → liburlparser-1.4.6}/.gitignore +0 -0
  12. {liburlparser-1.4.5 → liburlparser-1.4.6}/.gitmodules +0 -0
  13. {liburlparser-1.4.5 → liburlparser-1.4.6}/.ruff_cache/.gitignore +0 -0
  14. {liburlparser-1.4.5 → liburlparser-1.4.6}/.ruff_cache/CACHEDIR.TAG +0 -0
  15. {liburlparser-1.4.5 → liburlparser-1.4.6}/LICENSE +0 -0
  16. {liburlparser-1.4.5 → liburlparser-1.4.6}/cmake/modules/PyProject.cmake +0 -0
  17. {liburlparser-1.4.5 → liburlparser-1.4.6}/conda.recipe/meta.yaml +0 -0
  18. {liburlparser-1.4.5 → liburlparser-1.4.6}/docs/Doxyfile.in +0 -0
  19. {liburlparser-1.4.5 → liburlparser-1.4.6}/docs/images/logo/liburlparser-logo-1.svg +0 -0
  20. {liburlparser-1.4.5 → liburlparser-1.4.6}/docs/images/logo/liburlparser-logo-2.svg +0 -0
  21. {liburlparser-1.4.5 → liburlparser-1.4.6}/examples/common.h +0 -0
  22. {liburlparser-1.4.5 → liburlparser-1.4.6}/examples/main.cpp +0 -0
  23. {liburlparser-1.4.5 → liburlparser-1.4.6}/include/urlparser.h +0 -0
  24. {liburlparser-1.4.5 → liburlparser-1.4.6}/src/binding/main.cpp +0 -0
  25. {liburlparser-1.4.5 → liburlparser-1.4.6}/src/liburlparser/__init__.py +0 -0
  26. {liburlparser-1.4.5 → liburlparser-1.4.6}/src/liburlparser/__main__.py +0 -0
  27. {liburlparser-1.4.5 → liburlparser-1.4.6}/src/liburlparser/core.py +0 -0
  28. {liburlparser-1.4.5 → liburlparser-1.4.6}/src/psl.cpp +0 -0
  29. {liburlparser-1.4.5 → liburlparser-1.4.6}/src/psl.h +0 -0
  30. {liburlparser-1.4.5 → liburlparser-1.4.6}/src/url.cpp +0 -0
  31. {liburlparser-1.4.5 → liburlparser-1.4.6}/src/url.h +0 -0
  32. {liburlparser-1.4.5 → liburlparser-1.4.6}/src/urlparser_host.cpp +0 -0
  33. {liburlparser-1.4.5 → liburlparser-1.4.6}/src/urlparser_url.cpp +0 -0
  34. {liburlparser-1.4.5 → liburlparser-1.4.6}/tests/cpp/common.h +0 -0
  35. {liburlparser-1.4.5 → liburlparser-1.4.6}/tests/cpp/test_host.cpp +0 -0
  36. {liburlparser-1.4.5 → liburlparser-1.4.6}/tests/cpp/test_url.cpp +0 -0
  37. {liburlparser-1.4.5 → liburlparser-1.4.6}/tests/data/host_data.csv +0 -0
  38. {liburlparser-1.4.5 → liburlparser-1.4.6}/tests/data/url_data.csv +0 -0
  39. {liburlparser-1.4.5 → liburlparser-1.4.6}/tests/python/test_extra.py +0 -0
  40. {liburlparser-1.4.5 → liburlparser-1.4.6}/tests/python/test_host.py +0 -0
  41. {liburlparser-1.4.5 → liburlparser-1.4.6}/tests/python/test_url.py +0 -0
@@ -13,7 +13,7 @@ env:
13
13
  FORCE_COLOR: 3
14
14
 
15
15
  concurrency:
16
- group: ${{ github.workflow }}-${{ github.ref }}
16
+ group: github.workflow−{{ github.workflow }}-{{ github.ref }}
17
17
  cancel-in-progress: true
18
18
 
19
19
  jobs:
@@ -53,7 +53,7 @@ jobs:
53
53
  submodules: true
54
54
 
55
55
  - name: Build wheels
56
- uses: pypa/cibuildwheel@v2.13.1
56
+ uses: pypa/cibuildwheel@v2.16.5
57
57
  env:
58
58
  # CIBW_ARCHS_MACOS: universal2
59
59
  # CIBW_ARCHS_WINDOWS: auto ARM64
@@ -20,21 +20,21 @@ endif()
20
20
  #set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g")
21
21
 
22
22
 
23
- if(MSVC)
24
- # Microsoft Visual Studio compiler
25
- set(MSVC_FLAGS "/O2")
26
- set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${MSVC_FLAGS}")
27
- elseif(CMAKE_COMPILER_IS_GNUCXX)
28
- # GCC or Clang compiler
29
- set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3")
30
- if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
31
- # Linux
32
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
33
- else()
34
- # Other OS
35
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=generic")
36
- endif()
37
- endif()
23
+ #if(MSVC)
24
+ # # Microsoft Visual Studio compiler
25
+ # set(MSVC_FLAGS "/O2")
26
+ # set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${MSVC_FLAGS}")
27
+ #elseif(CMAKE_COMPILER_IS_GNUCXX)
28
+ # # GCC or Clang compiler
29
+ # set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3")
30
+ # if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
31
+ # # Linux
32
+ # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
33
+ # else()
34
+ # # Other OS
35
+ # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=generic")
36
+ # endif()
37
+ #endif()
38
38
 
39
39
  set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}" CACHE STRING "" FORCE)
40
40
  set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}" CACHE STRING "" FORCE)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: liburlparser
3
- Version: 1.4.5
3
+ Version: 1.4.6
4
4
  Summary: Fastest Url parser in the world
5
5
  Author-Email: Mohammad Raziei <mohammadraziei1375@gmail.com>
6
6
  Classifier: Development Status :: 4 - Beta
@@ -37,9 +37,29 @@ Description-Content-Type: text/markdown
37
37
  </h4>
38
38
  </p>
39
39
 
40
- ![license](https://img.shields.io/badge/MIT-License-green)
41
- ![Python]( https://img.shields.io/badge/Python-3.8%20%7C%203.9%20%7C%203.10%20%7C%203.11-blue)
42
- ![Python]( https://img.shields.io/badge/C++-17-yellow)
40
+ [![mohammadraziei - liburlparser](https://img.shields.io/static/v1?label=mohammadraziei&message=liburlparser&color=white&logo=github)](https://github.com/mohammadraziei/liburlparser "Go to GitHub repo")
41
+ [![stars - liburlparser](https://img.shields.io/github/stars/mohammadraziei/liburlparser?style=social)](https://github.com/mohammadraziei/liburlparser)
42
+ [![forks - liburlparser](https://img.shields.io/github/forks/mohammadraziei/liburlparser?style=social)](https://github.com/mohammadraziei/liburlparser)
43
+
44
+ [![PyPi](https://img.shields.io/pypi/v/liburlparser.svg)](https://pypi.org/project/liburlparser/)
45
+ ![Python](https://img.shields.io/badge/Python-3.8%20%7C%203.9%20%7C%203.10%20%7C%203.11-blue)
46
+ ![Cpp](https://img.shields.io/badge/C++-17-blue)
47
+
48
+
49
+ [![GitHub release](https://img.shields.io/github/release/mohammadraziei/liburlparser?include_prereleases=&sort=semver&color=purple)](https://github.com/mohammadraziei/liburlparser/releases/)
50
+ [![License](https://img.shields.io/badge/License-MIT-purple)](#license)
51
+ [![issues - liburlparser](https://img.shields.io/github/issues/mohammadraziei/liburlparser)](https://github.com/mohammadraziei/liburlparser/issues)
52
+
53
+
54
+ [![SonarCloud](https://sonarcloud.io/images/project_badges/sonarcloud-white.svg)](https://sonarcloud.io/summary/new_code?id=MohammadRaziei_liburlparser)
55
+
56
+ [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=MohammadRaziei_liburlparser&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=MohammadRaziei_liburlparser)
57
+ [![snyk.io](https://snyk.io/advisor/python/liburlparser/badge.svg)](https://snyk.io/advisor/python/liburlparser)
58
+
59
+ [//]: # ([![View site - GH Pages]&#40;https://img.shields.io/badge/View_site-GH_Pages-2ea44f?style=for-the-badge&#41;]&#40;https://mohammadraziei.github.io/liburlparser/&#41;)
60
+
61
+
62
+
43
63
  <!--
44
64
  ![Build](https://github.com/Intsights/PyDomainExtractor/workflows/Build/badge.svg)
45
65
  [![PyPi](https://img.shields.io/pypi/v/PyDomainExtractor.svg)](https://pypi.org/project/PyDomainExtractor/)
@@ -65,13 +85,42 @@ Description-Content-Type: text/markdown
65
85
 
66
86
  ## About The Project
67
87
 
88
+ **liburlparser** is a powerful domain extractor library written in C++ with Python bindings. It provides efficient URL parsing capabilities for both C++ and Python, making it a valuable tool for projects that involve working with web addresses.
89
+
68
90
  ### Features
91
+
92
+
93
+ Here are some key features of **liburlparser**:
94
+
95
+ 1. **Multiple Language Support**:
96
+ - liburlparser can be used in multiple programming languages, including `Python`, `C++`, and `Shell`.
97
+ - It offers an intuitive interface that remains consistent across both C++ and Python.
98
+
99
+ 2. **Clean Code Design**:
100
+ - The library provides two separate classes: `Url` and `Host`.
101
+ - This separation allows for cleaner and more organized code when dealing with URLs.
102
+
103
+ 3. **Public Suffix List Support**:
104
+ - liburlparser supports known combinatorial suffixes (e.g., "ac.ir") using the public_suffix_list.
105
+ - It can also handle unknown suffixes (e.g., "comm" in "google.comm").
106
+
107
+ 4. **Automatic Public Suffix List Updates**:
108
+ - Before each build and deployment, liburlparser updates the public_suffix_list automatically.
109
+
110
+ 5. **Host Properties**:
111
+ - The `Host` class includes properties such as subdomain, domain, domain name, and suffix.
112
+
113
+ 6. **URL Properties**:
114
+ - The `Url` class provides properties like protocol, userinfo, host (and all host properties), port, path, query parameters, and fragment.
115
+
116
+
117
+ <!--
69
118
  * Multiple programming language supported such as `Python`, `C++` and `Shell`
70
119
  * Intuitive interface and identical in C++ and Python
71
120
  * Provide two seperated class Url and Host for the purpose of clean code
72
121
  * Also support [public_suffix_list](https://publicsuffix.org/list/public_suffix_list.dat) for known combinatorial suffix such as "ac.ir"
73
122
  * Support unknown suffix like "google.comm" (it detect "comm" as suffix)
74
- * Update public_suffix_list automatically before each build and deploy
123
+ * Update public_suffix_list automatically before each build and deploy
75
124
  * Host properties:
76
125
  * subdomain
77
126
  * domain
@@ -86,54 +135,7 @@ Description-Content-Type: text/markdown
86
135
  * query
87
136
  * params
88
137
  * fragment
89
-
90
-
91
- ## Setup
92
- ### C++:
93
-
94
- #### build steps:
95
- ```sh
96
- git clone https://github.com/mohammadraziei/liburlparser
97
- mkdir -p build; cd build
98
- cmake ..
99
- # Build the project:
100
- make
101
- # [Optional] run tests:
102
- make test
103
- # [Optional] make documents:
104
- make docs
105
- # [Optional] Run examples:
106
- ./example
107
- # Make install
108
- sudo make install
109
- ```
110
-
111
-
112
-
113
- ### Python and Command Line:
114
- Be aware that it required `python>=3.8`
115
- #### Installation
116
- ###### pip by [pypi](https://pypi.org/project/liburlparser/)
117
- ```sh
118
- pip install liburlparser
119
- ```
120
- if you want to use psl.update to update the public suffix list, you must install the `online` version
121
- ```sh
122
- pip install "liburlparser[online]"
123
- ```
124
-
125
-
126
- Or
127
- ###### pip by [git](https://github.com/mohammadraziei/liburlparser)
128
- ```sh
129
- pip install git+https://github.com/mohammadraziei/liburlparser
130
- ```
131
- Or
132
- ###### manually
133
- ```sh
134
- git clone https://github.com/mohammadraziei/liburlparser
135
- pip install ./liburlparser
136
- ```
138
+ -->
137
139
 
138
140
  ## Usage
139
141
 
@@ -215,6 +217,56 @@ TLD::Host host = TLD::Host::fromUrl("https://ee.aut.ac.ir/about");
215
217
  you can see all methods in python we can use in c++ very easily
216
218
 
217
219
 
220
+
221
+ ## Installation
222
+ ### C++:
223
+
224
+ #### build steps:
225
+ ```sh
226
+ git clone https://github.com/mohammadraziei/liburlparser
227
+ mkdir -p build; cd build
228
+ cmake ..
229
+ # Build the project:
230
+ make
231
+ # [Optional] run tests:
232
+ make test
233
+ # [Optional] make documents:
234
+ make docs
235
+ # [Optional] Run examples:
236
+ ./example
237
+ # Make install
238
+ sudo make install
239
+ ```
240
+
241
+
242
+
243
+ ### Python and Command Line:
244
+ Be aware that it required `python>=3.8`
245
+ #### Installation
246
+ ###### pip by [pypi](https://pypi.org/project/liburlparser/)
247
+ ```sh
248
+ pip install liburlparser
249
+ ```
250
+ if you want to use psl.update to update the public suffix list, you must install the `online` version
251
+ ```sh
252
+ pip install "liburlparser[online]"
253
+ ```
254
+
255
+
256
+ Or
257
+ ###### pip by [git](https://github.com/mohammadraziei/liburlparser)
258
+ ```sh
259
+ pip install git+https://github.com/mohammadraziei/liburlparser
260
+ ```
261
+ Or
262
+ ###### manually
263
+ ```sh
264
+ git clone https://github.com/mohammadraziei/liburlparser
265
+ pip install ./liburlparser
266
+ ```
267
+
268
+
269
+
218
270
  ### Performance
219
271
 
220
272
 
@@ -254,10 +306,10 @@ Distributed under the MIT License. See [LICENSE](LICENSE) for more information.
254
306
 
255
307
  <!-- Gal Ben David - gal@intsights.com -->
256
308
 
257
- Project Link:
309
+ Project Link:
258
310
  - [https://github.com/mohammadraziei/liburlparser](https://github.com/mohammadraziei/liburlparser)
259
311
  - [https://pypi.org/project/liburlparser](https://pypi.org/project/liburlparser)
260
312
 
261
313
 
262
314
 
263
- [license-shield]: https://img.shields.io/github/license/othneildrew/Best-README-Template.svg?style=flat-square
315
+ [license-shield]: https://img.shields.io/github/license/othneildrew/Best-README-Template.svg?style=flat-square
@@ -10,9 +10,29 @@
10
10
  </h4>
11
11
  </p>
12
12
 
13
- ![license](https://img.shields.io/badge/MIT-License-green)
14
- ![Python]( https://img.shields.io/badge/Python-3.8%20%7C%203.9%20%7C%203.10%20%7C%203.11-blue)
15
- ![Python]( https://img.shields.io/badge/C++-17-yellow)
13
+ [![mohammadraziei - liburlparser](https://img.shields.io/static/v1?label=mohammadraziei&message=liburlparser&color=white&logo=github)](https://github.com/mohammadraziei/liburlparser "Go to GitHub repo")
14
+ [![stars - liburlparser](https://img.shields.io/github/stars/mohammadraziei/liburlparser?style=social)](https://github.com/mohammadraziei/liburlparser)
15
+ [![forks - liburlparser](https://img.shields.io/github/forks/mohammadraziei/liburlparser?style=social)](https://github.com/mohammadraziei/liburlparser)
16
+
17
+ [![PyPi](https://img.shields.io/pypi/v/liburlparser.svg)](https://pypi.org/project/liburlparser/)
18
+ ![Python](https://img.shields.io/badge/Python-3.8%20%7C%203.9%20%7C%203.10%20%7C%203.11-blue)
19
+ ![Cpp](https://img.shields.io/badge/C++-17-blue)
20
+
21
+
22
+ [![GitHub release](https://img.shields.io/github/release/mohammadraziei/liburlparser?include_prereleases=&sort=semver&color=purple)](https://github.com/mohammadraziei/liburlparser/releases/)
23
+ [![License](https://img.shields.io/badge/License-MIT-purple)](#license)
24
+ [![issues - liburlparser](https://img.shields.io/github/issues/mohammadraziei/liburlparser)](https://github.com/mohammadraziei/liburlparser/issues)
25
+
26
+
27
+ [![SonarCloud](https://sonarcloud.io/images/project_badges/sonarcloud-white.svg)](https://sonarcloud.io/summary/new_code?id=MohammadRaziei_liburlparser)
28
+
29
+ [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=MohammadRaziei_liburlparser&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=MohammadRaziei_liburlparser)
30
+ [![snyk.io](https://snyk.io/advisor/python/liburlparser/badge.svg)](https://snyk.io/advisor/python/liburlparser)
31
+
32
+ [//]: # ([![View site - GH Pages]&#40;https://img.shields.io/badge/View_site-GH_Pages-2ea44f?style=for-the-badge&#41;]&#40;https://mohammadraziei.github.io/liburlparser/&#41;)
33
+
34
+
35
+
16
36
  <!--
17
37
  ![Build](https://github.com/Intsights/PyDomainExtractor/workflows/Build/badge.svg)
18
38
  [![PyPi](https://img.shields.io/pypi/v/PyDomainExtractor.svg)](https://pypi.org/project/PyDomainExtractor/)
@@ -38,13 +58,42 @@
38
58
 
39
59
  ## About The Project
40
60
 
61
+ **liburlparser** is a powerful domain extractor library written in C++ with Python bindings. It provides efficient URL parsing capabilities for both C++ and Python, making it a valuable tool for projects that involve working with web addresses.
62
+
41
63
  ### Features
64
+
65
+
66
+ Here are some key features of **liburlparser**:
67
+
68
+ 1. **Multiple Language Support**:
69
+ - liburlparser can be used in multiple programming languages, including `Python`, `C++`, and `Shell`.
70
+ - It offers an intuitive interface that remains consistent across both C++ and Python.
71
+
72
+ 2. **Clean Code Design**:
73
+ - The library provides two separate classes: `Url` and `Host`.
74
+ - This separation allows for cleaner and more organized code when dealing with URLs.
75
+
76
+ 3. **Public Suffix List Support**:
77
+ - liburlparser supports known combinatorial suffixes (e.g., "ac.ir") using the public_suffix_list.
78
+ - It can also handle unknown suffixes (e.g., "comm" in "google.comm").
79
+
80
+ 4. **Automatic Public Suffix List Updates**:
81
+ - Before each build and deployment, liburlparser updates the public_suffix_list automatically.
82
+
83
+ 5. **Host Properties**:
84
+ - The `Host` class includes properties such as subdomain, domain, domain name, and suffix.
85
+
86
+ 6. **URL Properties**:
87
+ - The `Url` class provides properties like protocol, userinfo, host (and all host properties), port, path, query parameters, and fragment.
88
+
89
+
90
+ <!--
42
91
  * Multiple programming language supported such as `Python`, `C++` and `Shell`
43
92
  * Intuitive interface and identical in C++ and Python
44
93
  * Provide two seperated class Url and Host for the purpose of clean code
45
94
  * Also support [public_suffix_list](https://publicsuffix.org/list/public_suffix_list.dat) for known combinatorial suffix such as "ac.ir"
46
95
  * Support unknown suffix like "google.comm" (it detect "comm" as suffix)
47
- * Update public_suffix_list automatically before each build and deploy
96
+ * Update public_suffix_list automatically before each build and deploy
48
97
  * Host properties:
49
98
  * subdomain
50
99
  * domain
@@ -59,54 +108,7 @@
59
108
  * query
60
109
  * params
61
110
  * fragment
62
-
63
-
64
- ## Setup
65
- ### C++:
66
-
67
- #### build steps:
68
- ```sh
69
- git clone https://github.com/mohammadraziei/liburlparser
70
- mkdir -p build; cd build
71
- cmake ..
72
- # Build the project:
73
- make
74
- # [Optional] run tests:
75
- make test
76
- # [Optional] make documents:
77
- make docs
78
- # [Optional] Run examples:
79
- ./example
80
- # Make install
81
- sudo make install
82
- ```
83
-
84
-
85
-
86
- ### Python and Command Line:
87
- Be aware that it required `python>=3.8`
88
- #### Installation
89
- ###### pip by [pypi](https://pypi.org/project/liburlparser/)
90
- ```sh
91
- pip install liburlparser
92
- ```
93
- if you want to use psl.update to update the public suffix list, you must install the `online` version
94
- ```sh
95
- pip install "liburlparser[online]"
96
- ```
97
-
98
-
99
- Or
100
- ###### pip by [git](https://github.com/mohammadraziei/liburlparser)
101
- ```sh
102
- pip install git+https://github.com/mohammadraziei/liburlparser
103
- ```
104
- Or
105
- ###### manually
106
- ```sh
107
- git clone https://github.com/mohammadraziei/liburlparser
108
- pip install ./liburlparser
109
- ```
111
+ -->
110
112
 
111
113
  ## Usage
112
114
 
@@ -188,6 +190,56 @@ TLD::Host host = TLD::Host::fromUrl("https://ee.aut.ac.ir/about");
188
190
  you can see all methods in python we can use in c++ very easily
189
191
 
190
192
 
193
+
194
+ ## Installation
195
+ ### C++:
196
+
197
+ #### build steps:
198
+ ```sh
199
+ git clone https://github.com/mohammadraziei/liburlparser
200
+ mkdir -p build; cd build
201
+ cmake ..
202
+ # Build the project:
203
+ make
204
+ # [Optional] run tests:
205
+ make test
206
+ # [Optional] make documents:
207
+ make docs
208
+ # [Optional] Run examples:
209
+ ./example
210
+ # Make install
211
+ sudo make install
212
+ ```
213
+
214
+
215
+
216
+ ### Python and Command Line:
217
+ Be aware that it required `python>=3.8`
218
+ #### Installation
219
+ ###### pip by [pypi](https://pypi.org/project/liburlparser/)
220
+ ```sh
221
+ pip install liburlparser
222
+ ```
223
+ if you want to use psl.update to update the public suffix list, you must install the `online` version
224
+ ```sh
225
+ pip install "liburlparser[online]"
226
+ ```
227
+
228
+
229
+ Or
230
+ ###### pip by [git](https://github.com/mohammadraziei/liburlparser)
231
+ ```sh
232
+ pip install git+https://github.com/mohammadraziei/liburlparser
233
+ ```
234
+ Or
235
+ ###### manually
236
+ ```sh
237
+ git clone https://github.com/mohammadraziei/liburlparser
238
+ pip install ./liburlparser
239
+ ```
240
+
241
+
242
+
191
243
  ### Performance
192
244
 
193
245
 
@@ -227,10 +279,10 @@ Distributed under the MIT License. See [LICENSE](LICENSE) for more information.
227
279
 
228
280
  <!-- Gal Ben David - gal@intsights.com -->
229
281
 
230
- Project Link:
282
+ Project Link:
231
283
  - [https://github.com/mohammadraziei/liburlparser](https://github.com/mohammadraziei/liburlparser)
232
284
  - [https://pypi.org/project/liburlparser](https://pypi.org/project/liburlparser)
233
285
 
234
286
 
235
287
 
236
- [license-shield]: https://img.shields.io/github/license/othneildrew/Best-README-Template.svg?style=flat-square
288
+ [license-shield]: https://img.shields.io/github/license/othneildrew/Best-README-Template.svg?style=flat-square
@@ -6,7 +6,7 @@ build-backend = "scikit_build_core.build"
6
6
 
7
7
  [project]
8
8
  name = "liburlparser"
9
- version = "1.4.5"
9
+ version = "1.4.6"
10
10
  description = "Fastest Url parser in the world"
11
11
  readme = "README.md"
12
12
  authors = [
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes