mirror of
https://github.com/All-Hands-AI/OpenHands.git
synced 2026-04-29 03:00:45 -04:00
* support loading a particular runtime class via config.runtime (default to server to not break things) * move image agnostic util to shared runtime util * move dependency * include poetry.lock in sdist * accept port as arg for client * make client start server with specified port * update image agnostic utility for eventstream runtime * make client and runtime working with REST API * rename execute_server * add plugin to initialize stuff inside es-runtime; cleanup runtime methods to delegate everything to container * remove redundant ls -alh * fix jupyter * improve logging in agnostic sandbox * improve logging of test function * add read & edit * update agnostic sandbox * support setting work dir at start * fix file read/write test * fix unit test * update tescase * Fix unit test again * fix unit test again again
33 lines
1.2 KiB
Python
33 lines
1.2 KiB
Python
import os
|
|
import subprocess
|
|
from importlib.metadata import version
|
|
|
|
import opendevin
|
|
from opendevin.core.logger import opendevin_logger as logger
|
|
|
|
|
|
def create_project_source_dist():
|
|
"""Create a source distribution of the project. Return the path to the tarball."""
|
|
|
|
# Copy the project directory to the container
|
|
# get the location of "opendevin" package
|
|
project_root = os.path.dirname(os.path.dirname(os.path.abspath(opendevin.__file__)))
|
|
logger.info(f'Using project root: {project_root}')
|
|
|
|
# run "python -m build -s" on project_root
|
|
result = subprocess.run(['python', '-m', 'build', '-s', project_root])
|
|
if result.returncode != 0:
|
|
logger.error(f'Build failed: {result}')
|
|
raise Exception(f'Build failed: {result}')
|
|
logger.info(f'Source distribution create result: {result}')
|
|
|
|
tarball_path = os.path.join(
|
|
project_root, 'dist', f'opendevin-{version("opendevin")}.tar.gz'
|
|
)
|
|
if not os.path.exists(tarball_path):
|
|
logger.error(f'Source distribution not found at {tarball_path}')
|
|
raise Exception(f'Source distribution not found at {tarball_path}')
|
|
logger.info(f'Source distribution created at {tarball_path}')
|
|
|
|
return tarball_path
|