你可以直接运行browse应用。
make venv
或者
python --version # 3.10.x python -m venv ./venv source ./venv/bin/activate pip install poetry==1.3.2 poetry install python main.py
然后访问 http://127.0.0.1:8080/abs/0906.5132
这将监视Python代码的任何更改并重启服务器。 不幸的是,静态文件和模板不会被监视,所以你必须手动重启才能看到这些更改生效。
默认情况下,应用程序在查找文档元数据和PDF文件时将使用tests/data/abs_files
和tests/data/cache
中的目录树。这些路径可以通过环境变量覆盖(参见browse/config.py
)。
首先,你需要在某处创建'.env'文件。建议使用tests/.env。
export GOOGLE_APPLICATION_CREDENTIALS=<你的SA凭证>
export BROWSE_SQLALCHEMY_DATABASE_URI="mysql://browse:<BROWSE_PASSWORD>@127.0.0.1:1234/arXiv"
export DOCUMENT_ABSTRACT_SERVICE=browse.services.documents.db_docs
export ABS_PATH_ROOT=gs://arxiv-production-data
export DOCUMENT_CACHE_PATH=gs://arxiv-production-data/ps_cache
export DOCUMENT_LISTING_PATH=gs://arxiv-production-data/ftp
export DISSEMINATION_STORAGE_PREFIX=gs://arxiv-production-data
export LATEXML_ENABLED=True
export LATEXML_INSTANCE_CONNECTION_NAME=arxiv-production:us-central1:latexml-db
export LATEXML_BASE_URL=https://browse.arxiv.org/latexml
export FLASKS3_ACTIVE=1
你需要一个SA凭证来访问数据库,并运行cloud-sql-proxy。 对于LATEXML_INSTANCE_CONNECTION_NAME,你可能需要询问知道数据库的人。 (这显然是一个生产数据库。)
你可以在这里找到browse密码: https://console.cloud.google.com/security/secret-manager/secret/browse-sqlalchemy-db-uri/versions?project=arxiv-production
如果你有PyCharm, 脚本:main.py 启用env文件 添加 tests/.env
你的SA需要以下权限:
将私钥保存在本地机器的某个位置。可选择将其保存在1password中。
一旦你有了Google SA私钥,就可以运行cloud-sql-proxy。
main proxy
注意:cloud_sql_proxy和cloud-sql-proxy(新版)有不同的选项。 这里只描述新版,因为你可能没有旧版。
cloud-sql-proxy --address 0.0.0.0 --port 1234 arxiv-production:us-east4:arxiv-production-rep4
如果代理正常工作,你可以使用mysql客户端连接到数据库。
mysql -u browse -p --host 127.0.0.1 --port 1234 arXiv Enter password: ... Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show tables; +------------------------------------------+ | Tables_in_arXiv | +------------------------------------------+ | Subscription_UniversalInstitution |
使用以下命令运行主测试套件:
pytest tests
你也可以在Docker中运行browse应用。以下命令将使用配置参数的默认值构建并运行browse,并使用tests/data
中的测试数据。如果你还没有安装Docker,请先安装,然后运行以下命令:
script/start
此命令将构建Docker镜像并运行它。如果一切顺利,http://localhost:8000/ 将渲染主页。
查看browse/config.py
了解配置参数和默认值。这些参数都可以通过环境变量覆盖。
我们使用Flask-S3通过S3提供静态文件。
查找AWS密钥、区域和存储桶后:
cd arxiv-browse git pull AWS_ACCESS_KEY_ID=x AWS_SECRET_ACCESS_KEY=x \ AWS_REGION=us-east-1 FLASKS3_BUCKET_NAME=arxiv-web-static1 \ pipenv run python upload_static_assets.py
在AWS -> CloudFront中,选择static.arxiv.org分发,-> Invalidations -> Create invalidation, 然后输入URL文件路径列表,例如:/static/browse/0.3.4/css/arXiv.css。
使用网络浏览器的inspect->network可能有助于找到活动的发布版本 。
有一个GitHub action会在合并到develop的PR上运行。这些测试失败的PR将被阻止。它相当于运行:
# 如果有Python语法错误或未定义的名称
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
pytest tests
AI数字人视频创作平台
Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。
一站式AI创作平台
提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作
AI办公助手,复杂任务高效处理
AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!
AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
AI小说写作助手,一站式润色、改写、扩写
蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。
全能AI智能助手,随时解答生活与工作的多样问题
问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。
实时语音翻译/同声传译工具
Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。
一键生成PPT和Word,让学习生活更轻松