Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
Lmdeploy
Commits
d2c9caa4
Unverified
Commit
d2c9caa4
authored
Jul 05, 2023
by
RunningLeon
Committed by
GitHub
Jul 05, 2023
Browse files
Update setup for build python wheel (#61)
parent
08252a83
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
84 additions
and
1 deletion
+84
-1
CMakeLists.txt
CMakeLists.txt
+4
-1
setup.py
setup.py
+80
-0
No files found.
CMakeLists.txt
View file @
d2c9caa4
...
...
@@ -40,6 +40,7 @@ if(NOT USE_TRITONSERVER_DATATYPE)
option
(
USE_TRITONSERVER_DATATYPE
"Build triton backend for triton server"
OFF
)
endif
()
option
(
BUILD_PY_FFI
"Build python ffi"
ON
)
option
(
BUILD_TEST
"Build tests"
OFF
)
include
(
FetchContent
)
...
...
@@ -283,7 +284,9 @@ link_directories(
add_subdirectory
(
src
)
add_subdirectory
(
examples
)
add_subdirectory
(
tests
)
if
(
BUILD_TEST
)
add_subdirectory
(
tests
)
endif
()
# # Mesaure the compile time
option
(
MEASURE_BUILD_TIME
"Measure the build time of each module"
OFF
)
...
...
setup.py
View file @
d2c9caa4
import
os
import
re
import
sys
from
setuptools
import
find_packages
,
setup
...
...
@@ -18,6 +20,81 @@ def get_version():
return
locals
()[
'__version__'
]
def
parse_requirements
(
fname
=
'requirements.txt'
,
with_version
=
True
):
"""Parse the package dependencies listed in a file but strips specific
versioning information.
Args:
fname (str): path to the file
with_version (bool, default=False): if True include version specs
Returns:
List[str]: list of requirements items
CommandLine:
python -c "import setup; print(setup.parse_requirements())"
"""
require_fpath
=
fname
def
parse_line
(
line
):
"""Parse information from a line in a requirements text file."""
if
line
.
startswith
(
'-r '
):
# Allow specifying requirements in other files
target
=
line
.
split
(
' '
)[
1
]
for
info
in
parse_require_file
(
target
):
yield
info
else
:
info
=
{
'line'
:
line
}
if
line
.
startswith
(
'-e '
):
info
[
'package'
]
=
line
.
split
(
'#egg='
)[
1
]
elif
'@git+'
in
line
:
info
[
'package'
]
=
line
else
:
# Remove versioning from the package
pat
=
'('
+
'|'
.
join
([
'>='
,
'=='
,
'>'
])
+
')'
parts
=
re
.
split
(
pat
,
line
,
maxsplit
=
1
)
parts
=
[
p
.
strip
()
for
p
in
parts
]
info
[
'package'
]
=
parts
[
0
]
if
len
(
parts
)
>
1
:
op
,
rest
=
parts
[
1
:]
if
';'
in
rest
:
# Handle platform specific dependencies
# http://setuptools.readthedocs.io/en/latest/setuptools.html#declaring-platform-specific-dependencies
version
,
platform_deps
=
map
(
str
.
strip
,
rest
.
split
(
';'
))
info
[
'platform_deps'
]
=
platform_deps
else
:
version
=
rest
# NOQA
info
[
'version'
]
=
(
op
,
version
)
yield
info
def
parse_require_file
(
fpath
):
with
open
(
fpath
,
'r'
)
as
f
:
for
line
in
f
.
readlines
():
line
=
line
.
strip
()
if
line
and
not
line
.
startswith
(
'#'
):
for
info
in
parse_line
(
line
):
yield
info
def
gen_packages_items
():
if
os
.
path
.
exists
(
require_fpath
):
for
info
in
parse_require_file
(
require_fpath
):
parts
=
[
info
[
'package'
]]
if
with_version
and
'version'
in
info
:
parts
.
extend
(
info
[
'version'
])
if
not
sys
.
version
.
startswith
(
'3.4'
):
# apparently package_deps are broken in 3.4
platform_deps
=
info
.
get
(
'platform_deps'
)
if
platform_deps
is
not
None
:
parts
.
append
(
';'
+
platform_deps
)
item
=
''
.
join
(
parts
)
yield
item
packages
=
list
(
gen_packages_items
())
return
packages
if
__name__
==
'__main__'
:
setup
(
name
=
'lmdeploy'
,
version
=
get_version
(),
...
...
@@ -28,6 +105,9 @@ if __name__ == '__main__':
author_email
=
'openmmlab@gmail.com'
,
packages
=
find_packages
(
exclude
=
(
'lmdeploy/serve/turbomind/triton_models'
,
)),
include_package_data
=
True
,
setup_requires
=
parse_requirements
(
'requirements.txt'
),
install_requires
=
parse_requirements
(
'requirements.txt'
),
classifiers
=
[
'Programming Language :: Python :: 3.8'
,
'Programming Language :: Python :: 3.9'
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment