quaint-rocket-18436
05/03/2024, 3:49 PMmbp in ...path on ξ branch [!?] via π
dev
took 6s β python test.py --environment=conda --datastore=s3 run
Metaflow 2.11.10 executing Test for user:pmiron
Project: test, Branch: user.pmiron
Validating your flow...
The graph looks good!
Running pylint...
Pylint not found, so extra checks are disabled.
Bootstrapping virtual environment(s) ...
Micromamba ran into an error while setting up environment:
command '/opt/homebrew/bin/micromamba create --yes --quiet --dry-run --no-extra-safety-checks --repodata-ttl=86400 --retry-clean-cache --prefix=/var/folders/_6/hdhmyzr120jgn1d_45q65zkh0000gn/T/tmp8oq8ubfo/prefix --channel=conda-forge --channel=defaults ... ... ... zstd==1.5.6 python==3.11.9' returned error (1)
nothing provides __glibc >=2.17,<3.0.a0 needed by nss-3.98-h1d7d5a4_0
...
...
nothing provides __glibc >=2.17,<3.0.a0 needed by libgdal-3.4.1-h42fb820_3
My guess right now is that those pinned dependencies solved using "linux-64" as the platform can't be solve on arm64. Is there a way to pass the platform to make sure it is bootstrapped on linux-64 ? For example in Docker, one can passed the --platform linux/amd64 parameter.ancient-application-36103
05/03/2024, 5:17 PMdry-beach-38304
05/03/2024, 6:19 PMquaint-rocket-18436
05/03/2024, 6:29 PMname: env
channels:
- conda-forge
- nodefaults
dependencies:
- geopandas
- pandas
- python=3.11
- pyarrow
- numpy
- s3fs
which I resolved for linux-64 to get the following pinned dependencies dictionary:
dependencies = {
"_libgcc_mutex": "0.1",
"_openmp_mutex": "4.5",
"aiobotocore": "2.12.2",
"aiohttp": "3.9.5",
"aioitertools": "0.11.0",
"aiosignal": "1.3.1",
"attrs": "23.2.0",
"aws-c-auth": "0.7.18",
"aws-c-cal": "0.6.11",
"aws-c-common": "0.9.15",
"aws-c-compression": "0.2.18",
"aws-c-event-stream": "0.4.2",
"aws-c-http": "0.8.1",
"aws-c-io": "0.14.7",
"aws-c-mqtt": "0.10.4",
"aws-c-s3": "0.5.7",
"aws-c-sdkutils": "0.1.15",
"aws-checksums": "0.1.18",
"aws-crt-cpp": "0.26.8",
"aws-sdk-cpp": "1.11.267",
"azure-core-cpp": "1.11.1",
"azure-identity-cpp": "1.6.0",
"azure-storage-blobs-cpp": "12.10.0",
"azure-storage-common-cpp": "12.5.0",
"blosc": "1.21.5",
"botocore": "1.34.51",
"branca": "0.7.2",
"brotli": "1.1.0",
"brotli-bin": "1.1.0",
"brotli-python": "1.1.0",
"bzip2": "1.0.8",
"c-ares": "1.28.1",
"ca-certificates": "2024.2.2",
"cairo": "1.18.0",
"certifi": "2024.2.2",
"cfitsio": "4.4.0",
"charset-normalizer": "3.3.2",
"click": "8.1.7",
"click-plugins": "1.1.1",
"cligj": "0.7.2",
"contourpy": "1.2.1",
"cycler": "0.12.1",
"expat": "2.6.2",
"fiona": "1.9.6",
"fmt": "10.2.1",
"folium": "0.16.0",
"font-ttf-dejavu-sans-mono": "2.37",
"font-ttf-inconsolata": "3.000",
"font-ttf-source-code-pro": "2.038",
"font-ttf-ubuntu": "0.83",
"fontconfig": "2.14.2",
"fonts-conda-ecosystem": "1",
"fonts-conda-forge": "1",
"fonttools": "4.51.0",
"freetype": "2.12.1",
"freexl": "2.0.0",
"frozenlist": "1.4.1",
"fsspec": "2024.3.1",
"gdal": "3.8.5",
"geopandas": "0.14.4",
"geopandas-base": "0.14.4",
"geos": "3.12.1",
"geotiff": "1.7.1",
"gflags": "2.2.2",
"giflib": "5.2.2",
"glog": "0.7.0",
"hdf4": "4.2.15",
"hdf5": "1.14.3",
"icu": "73.2",
"idna": "3.7",
"jinja2": "3.1.3",
"jmespath": "1.0.1",
"joblib": "1.4.2",
"json-c": "0.17",
"kealib": "1.5.3",
"keyutils": "1.6.1",
"kiwisolver": "1.4.5",
"krb5": "1.21.2",
"lcms2": "2.16",
"ld_impl_linux-64": "2.40",
"lerc": "4.0.0",
"libabseil": "20240116.2",
"libaec": "1.1.3",
"libarchive": "3.7.2",
"libarrow": "15.0.2",
"libarrow-acero": "15.0.2",
"libarrow-dataset": "15.0.2",
"libarrow-flight": "15.0.2",
"libarrow-flight-sql": "15.0.2",
"libarrow-gandiva": "15.0.2",
"libarrow-substrait": "15.0.2",
"libblas": "3.9.0",
"libboost-headers": "1.84.0",
"libbrotlicommon": "1.1.0",
"libbrotlidec": "1.1.0",
"libbrotlienc": "1.1.0",
"libcblas": "3.9.0",
"libcrc32c": "1.1.2",
"libcurl": "8.7.1",
"libdeflate": "1.20",
"libedit": "3.1.20191231",
"libev": "4.33",
"libevent": "2.1.12",
"libexpat": "2.6.2",
"libffi": "3.4.2",
"libgcc-ng": "13.2.0",
"libgdal": "3.8.5",
"libgfortran-ng": "13.2.0",
"libgfortran5": "13.2.0",
"libglib": "2.80.0",
"libgomp": "13.2.0",
"libgoogle-cloud": "2.23.0",
"libgoogle-cloud-storage": "2.23.0",
"libgrpc": "1.62.2",
"libiconv": "1.17",
"libjpeg-turbo": "3.0.0",
"libkml": "1.3.0",
"liblapack": "3.9.0",
"libllvm16": "16.0.6",
"libnetcdf": "4.9.2",
"libnghttp2": "1.58.0",
"libnl": "3.9.0",
"libnsl": "2.0.1",
"libopenblas": "0.3.27",
"libparquet": "15.0.2",
"libpng": "1.6.43",
"libpq": "16.2",
"libprotobuf": "4.25.3",
"libre2-11": "2023.09.01",
"librttopo": "1.1.0",
"libspatialindex": "1.9.3",
"libspatialite": "5.1.0",
"libsqlite": "3.45.3",
"libssh2": "1.11.0",
"libstdcxx-ng": "13.2.0",
"libthrift": "0.19.0",
"libtiff": "4.6.0",
"libutf8proc": "2.8.0",
"libuuid": "2.38.1",
"libwebp-base": "1.4.0",
"libxcb": "1.15",
"libxcrypt": "4.4.36",
"libxml2": "2.12.6",
"libzip": "1.10.1",
"libzlib": "1.2.13",
"lz4-c": "1.9.4",
"lzo": "2.10",
"mapclassify": "2.6.1",
"markupsafe": "2.1.5",
"matplotlib-base": "3.8.4",
"minizip": "4.0.5",
"multidict": "6.0.5",
"munkres": "1.1.4",
"ncurses": "6.4.20240210",
"networkx": "3.3",
"nspr": "4.35",
"nss": "3.98",
"numpy": "1.26.4",
"openjpeg": "2.5.2",
"openssl": "3.3.0",
"orc": "2.0.0",
"packaging": "24.0",
"pandas": "2.2.2",
"pcre2": "10.43",
"pillow": "10.3.0",
"pip": "24.0",
"pixman": "0.43.2",
"poppler": "24.04.0",
"poppler-data": "0.4.12",
"postgresql": "16.2",
"proj": "9.4.0",
"pthread-stubs": "0.4",
"pyarrow": "15.0.2",
"pyparsing": "3.1.2",
"pyproj": "3.6.1",
"pysocks": "1.7.1",
"python-dateutil": "2.9.0",
"python-tzdata": "2024.1",
"python_abi": "3.11",
"pytz": "2024.1",
"rdma-core": "51.0",
"re2": "2023.09.01",
"readline": "8.2",
"requests": "2.31.0",
"rtree": "1.2.0",
"s2n": "1.4.12",
"s3fs": "2024.3.1",
"scikit-learn": "1.4.2",
"scipy": "1.13.0",
"setuptools": "69.5.1",
"shapely": "2.0.4",
"six": "1.16.0",
"snappy": "1.2.0",
"spdlog": "1.13.0",
"sqlite": "3.45.3",
"threadpoolctl": "3.5.0",
"tiledb": "2.22.0",
"tk": "8.6.13",
"typing_extensions": "4.11.0",
"tzcode": "2024a",
"tzdata": "2024a",
"ucx": "1.15.0",
"uriparser": "0.9.7",
"urllib3": "2.0.7",
"wheel": "0.43.0",
"wrapt": "1.16.0",
"xerces-c": "3.2.5",
"xorg-kbproto": "1.0.7",
"xorg-libice": "1.1.1",
"xorg-libsm": "1.2.4",
"xorg-libx11": "1.8.9",
"xorg-libxau": "1.0.11",
"xorg-libxdmcp": "1.1.3",
"xorg-libxext": "1.3.4",
"xorg-libxrender": "0.9.11",
"xorg-renderproto": "0.11.1",
"xorg-xextproto": "7.3.0",
"xorg-xproto": "7.0.31",
"xyzservices": "2024.4.0",
"xz": "5.2.6",
"yarl": "1.9.4",
"zlib": "1.2.13",
"zstd": "1.5.6"
}
@conda_base(libraries=dependencies, python='3.11.9')
that I use in the flow. And yes it is on Kubernetes,
@conda_base(libraries=dependencies, python=python_version)
class Test(FlowSpec):
@kubernetes(cpu=2, memory=8000, disk=10000)
@step
def start(self):
self.next(self.end)
@conda(disabled=True)
@step
def end(self):
pass
if __name__ == "__main__":
Test()dry-beach-38304
05/03/2024, 6:36 PMmetaflow environment resolve --arch=linux-64 --dry-run -f philippe.yml;
where the yml file has:
dependencies:
- geopandas
- pandas
- python=3.11
- pyarrow
- numpy
- s3fs
and get:
### Environment for architecture linux-64
Environment of type conda-only full hash 59f0dad7faf45217e16bb1bdd4f174a51513dfe3:03390c90372f5f07844ba32bb331dc557fb1f91f
Arch linux-64
Available on linux-64
Resolved on 2024-05-03 11:33:14.606793
Resolved by rcledat
User-requested packages sys::__glibc==2.27, conda::boto3==>=1.14.0, conda::cffi==>=1.13.0,!=1.15.0, conda::fastavro==>=1.6.0, conda::geopandas, conda::numpy, conda::pandas==>=0.24.0, conda::pyarrow==>=0.17.1, conda::python==3.11, conda::requests==>=2.21.0, conda::s3fs
User sources conda::conda-forge
Conda Packages installed _libgcc_mutex==0.1-conda_forge, _openmp_mutex==4.5-2_gnu, attrs==23.2.0-pyh71513ae_0, aws-c-auth==0.7.18-he0b1f16_0, aws-c-cal==0.6.11-heb1d5e4_0, aws-c-common==0.9.15-hd590300_0, aws-c-compression==0.2.18-hce8ee76_3, aws-c-event-stream==0.4.2-h01f5eca_8, aws-c-http==0.8.1-hdb68c23_10, aws-c-io==0.14.7-hbfbeace_6, aws-c-mqtt==0.10.4-h50844eb_0, aws-c-s3==0.5.7-h6be9164_2, aws-c-sdkutils==0.1.15-hce8ee76_3, aws-checksums==0.1.18-hce8ee76_3, aws-crt-cpp==0.26.8-h2150271_2, aws-sdk-cpp==1.11.267-hddb5a97_7, azure-core-cpp==1.11.1-h91d86a7_1, azure-identity-cpp==1.6.0-hf1915f5_1, azure-storage-blobs-cpp==12.10.0-h00ab1b0_1, azure-storage-common-cpp==12.5.0-h94269e2_4, blosc==1.21.5-hc2324a3_1, boto3==1.34.97-pyhd8ed1ab_0, botocore==1.34.97-pyge310_1234567_0, branca==0.7.2-pyhd8ed1ab_0, brotli==1.1.0-hd590300_1, brotli-bin==1.1.0-hd590300_1, brotli-python==1.1.0-py311hb755f60_1, bzip2==1.0.8-hd590300_5, c-ares==1.28.1-hd590300_0, ca-certificates==2024.2.2-hbcca054_0, cairo==1.18.0-h3faef2a_0, certifi==2024.2.2-pyhd8ed1ab_0, cffi==1.16.0-py311hb3a22ac_0, cfitsio==4.4.0-hbdc6101_1, charset-normalizer==3.3.2-pyhd8ed1ab_0, click==8.1.7-unix_pyh707e725_0, click-plugins==1.1.1-py_0, cligj==0.7.2-pyhd8ed1ab_1, contourpy==1.2.1-py311h9547e67_0, cycler==0.12.1-pyhd8ed1ab_0, expat==2.6.2-h59595ed_0, fastavro==1.9.4-py311h459d7ec_0, fiona==1.9.6-py311hf8e0aa6_0, fmt==10.2.1-h00ab1b0_0, folium==0.16.0-pyhd8ed1ab_0, font-ttf-dejavu-sans-mono==2.37-hab24e00_0, font-ttf-inconsolata==3.000-h77eed37_0, font-ttf-source-code-pro==2.038-h77eed37_0, font-ttf-ubuntu==0.83-h77eed37_2, fontconfig==2.14.2-h14ed4e7_0, fonts-conda-ecosystem==1-0, fonts-conda-forge==1-0, fonttools==4.51.0-py311h459d7ec_0, freetype==2.12.1-h267a509_2, freexl==2.0.0-h743c826_0, fsspec==2024.3.1-pyhca7485f_0, gdal==3.8.5-py311hd032c08_2, geopandas==0.14.4-pyhd8ed1ab_0, geopandas-base==0.14.4-pyha770c72_0, geos==3.12.1-h59595ed_0, geotiff==1.7.1-h6cf1f90_16, gflags==2.2.2-he1b5a44_1004, giflib==5.2.2-hd590300_0, glog==0.7.0-hed5481d_0, hdf4==4.2.15-h2a13503_7, hdf5==1.14.3-nompi_h4f84152_101, icu==73.2-h59595ed_0, idna==3.7-pyhd8ed1ab_0, jinja2==3.1.3-pyhd8ed1ab_0, jmespath==1.0.1-pyhd8ed1ab_0, joblib==1.4.2-pyhd8ed1ab_0, json-c==0.17-h7ab15ed_0, kealib==1.5.3-h2f55d51_0, keyutils==1.6.1-h166bdaf_0, kiwisolver==1.4.5-py311h9547e67_1, krb5==1.21.2-h659d440_0, lcms2==2.16-hb7c19ff_0, ld_impl_linux-64==2.40-h55db66e_0, lerc==4.0.0-h27087fc_0, libabseil==20240116.2-cxx17_h59595ed_0, libaec==1.1.3-h59595ed_0, libarchive==3.7.2-h2aa1ff5_1, libarrow==15.0.2-hefa796f_6_cpu, libarrow-acero==15.0.2-hbabe93e_6_cpu, libarrow-dataset==15.0.2-hbabe93e_6_cpu, libarrow-flight==15.0.2-hc4f8a93_6_cpu, libarrow-flight-sql==15.0.2-he4f5ca8_6_cpu, libarrow-gandiva==15.0.2-hc1954e9_6_cpu, libarrow-substrait==15.0.2-he4f5ca8_6_cpu, libblas==3.9.0-22_linux64_openblas, libboost-headers==1.84.0-ha770c72_2, libbrotlicommon==1.1.0-hd590300_1, libbrotlidec==1.1.0-hd590300_1, libbrotlienc==1.1.0-hd590300_1, libcblas==3.9.0-22_linux64_openblas, libcrc32c==1.1.2-h9c3ff4c_0, libcurl==8.7.1-hca28451_0, libdeflate==1.20-hd590300_0, libedit==3.1.20191231-he28a2e2_2, libev==4.33-hd590300_2, libevent==2.1.12-hf998b51_1, libexpat==2.6.2-h59595ed_0, libffi==3.4.2-h7f98852_5, libgcc-ng==13.2.0-h77fa898_6, libgdal==3.8.5-hf9625ee_2, libgfortran-ng==13.2.0-h69a702a_6, libgfortran5==13.2.0-h43f5ff8_6, libglib==2.80.0-hf2295e7_6, libgomp==13.2.0-h77fa898_6, libgoogle-cloud==2.23.0-h9be4e54_1, libgoogle-cloud-storage==2.23.0-hc7a4891_1, libgrpc==1.62.2-h15f2491_0, libiconv==1.17-hd590300_2, libjpeg-turbo==3.0.0-hd590300_1, libkml==1.3.0-h01aab08_1018, liblapack==3.9.0-22_linux64_openblas, libllvm16==16.0.6-hb3ce162_3, libnetcdf==4.9.2-nompi_h9612171_113, libnghttp2==1.58.0-h47da74e_1, libnl==3.9.0-hd590300_0, libnsl==2.0.1-hd590300_0, libopenblas==0.3.27-pthreads_h413a1c8_0, libparquet==15.0.2-hacf5a1f_6_cpu, libpng==1.6.43-h2797004_0, libpq==16.2-h33b98f1_1, libprotobuf==4.25.3-h08a7969_0, libre2-11==2023.09.01-h5a48ba9_2, librttopo==1.1.0-h8917695_15, libspatialindex==1.9.3-h9c3ff4c_4, libspatialite==5.1.0-h6f065fc_5, libsqlite==3.45.3-h2797004_0, libssh2==1.11.0-h0841786_0, libstdcxx-ng==13.2.0-hc0a3c3a_6, libthrift==0.19.0-hb90f79a_1, libtiff==4.6.0-h1dd3fc0_3, libutf8proc==2.8.0-h166bdaf_0, libuuid==2.38.1-h0b41bf4_0, libwebp-base==1.4.0-hd590300_0, libxcb==1.15-h0b41bf4_0, libxml2==2.12.6-h232c23b_2, libzip==1.10.1-h2629f0a_3, libzlib==1.2.13-hd590300_5, lz4-c==1.9.4-hcb278e6_0, lzo==2.10-hd590300_1001, mapclassify==2.6.1-pyhd8ed1ab_0, markupsafe==2.1.5-py311h459d7ec_0, matplotlib-base==3.8.4-py311h54ef318_0, minizip==4.0.5-h0ab5242_0, munkres==1.1.4-pyh9f0ad1d_0, ncurses==6.4.20240210-h59595ed_0, networkx==3.3-pyhd8ed1ab_1, nspr==4.35-h27087fc_0, nss==3.98-h1d7d5a4_0, numpy==1.26.4-py311h64a7726_0, openjpeg==2.5.2-h488ebb8_0, openssl==3.3.0-hd590300_0, orc==2.0.0-h17fec99_1, packaging==24.0-pyhd8ed1ab_0, pandas==2.2.2-py311h320fe9a_0, pcre2==10.43-hcad00b1_0, pillow==10.3.0-py311h18e6fac_0, pip==24.0-pyhd8ed1ab_0, pixman==0.43.2-h59595ed_0, poppler==24.04.0-hb6cd0d7_0, poppler-data==0.4.12-hd8ed1ab_0, postgresql==16.2-h82ecc9d_1, proj==9.4.0-h1d62c97_1, pthread-stubs==0.4-h36c2ea0_1001, pyarrow==15.0.2-py311hd5e4297_6_cpu, pycparser==2.22-pyhd8ed1ab_0, pyparsing==3.1.2-pyhd8ed1ab_0, pyproj==3.6.1-py311hb3a3e68_6, pysocks==1.7.1-pyha2e5f31_6, python==3.11.0-he550d4f_1_cpython, python-dateutil==2.9.0-pyhd8ed1ab_0, python-tzdata==2024.1-pyhd8ed1ab_0, python_abi==3.11-4_cp311, pytz==2024.1-pyhd8ed1ab_0, rdma-core==51.0-hd3aeb46_0, re2==2023.09.01-h7f4b329_2, readline==8.2-h8228510_1, requests==2.31.0-pyhd8ed1ab_0, rtree==1.2.0-py311h3bb2b0f_0, s2n==1.4.12-h06160fa_0, s3fs==0.4.2-py_0, s3transfer==0.10.1-pyhd8ed1ab_0, scikit-learn==1.4.2-py311hc009520_0, scipy==1.13.0-py311h64a7726_0, setuptools==69.5.1-pyhd8ed1ab_0, shapely==2.0.4-py311h2032efe_0, six==1.16.0-pyh6c4a22f_0, snappy==1.2.0-hdb0a2a9_1, spdlog==1.13.0-hd2e6256_0, sqlite==3.45.3-h2c6b66d_0, threadpoolctl==3.5.0-pyhc1e730c_0, tiledb==2.22.0-h27f064a_3, tk==8.6.13-noxft_h4845f30_101, tzcode==2024a-h3f72095_0, tzdata==2024a-h0c530f3_0, ucx==1.15.0-ha691c75_8, uriparser==0.9.7-h59595ed_1, urllib3==2.2.1-pyhd8ed1ab_0, wheel==0.43.0-pyhd8ed1ab_1, xerces-c==3.2.5-hac6953d_0, xorg-kbproto==1.0.7-h7f98852_1002, xorg-libice==1.1.1-hd590300_0, xorg-libsm==1.2.4-h7391055_0, xorg-libx11==1.8.9-h8ee46fc_0, xorg-libxau==1.0.11-hd590300_0, xorg-libxdmcp==1.1.3-h7f98852_0, xorg-libxext==1.3.4-h0b41bf4_2, xorg-libxrender==0.9.11-hd590300_0, xorg-renderproto==0.11.1-h7f98852_1002, xorg-xextproto==7.3.0-h0b41bf4_1003, xorg-xproto==7.0.31-h7f98852_1007, xyzservices==2024.4.0-pyhd8ed1ab_0, xz==5.2.6-h166bdaf_0, zlib==1.2.13-hd590300_5, zstd==1.5.6-ha6fb4c9_0
(you might get some small differences β we inject a few more packages by default at Netflix). You can try that one if that unblocks you.dry-beach-38304
05/03/2024, 6:39 PMdry-beach-38304
05/03/2024, 6:39 PMquaint-rocket-18436
05/03/2024, 6:39 PMquaint-rocket-18436
05/03/2024, 6:40 PMdry-beach-38304
05/03/2024, 6:40 PMquaint-rocket-18436
05/03/2024, 6:42 PM"botocore" needed by s3fs when my env is:
name: env
channels:
- conda-forge
- nodefaults
dependencies:
- geopandas
- pandas
- python=3.11
- pyarrow
- numpy
- s3fsdry-beach-38304
05/03/2024, 6:45 PMmetaflow environment resolve --arch=linux-64 -f myenv.yml --alias philippe/awesome_env
and then instead of @conda, use @named_env(name="philippe/awesome_env"). You can add tags too like --alias philippe/awesome_env:v1 and refer to that specifically. Tags are immutable except for latest (the default tag) so you can update your env (itβs kind of like docker tags).dry-beach-38304
05/03/2024, 6:46 PMquaint-rocket-18436
05/03/2024, 6:48 PMdry-beach-38304
05/03/2024, 6:49 PMdry-beach-38304
05/03/2024, 6:49 PMquaint-rocket-18436
05/03/2024, 6:59 PM@named_env(name="philippe/awesome_env") tag would work once I resolved it. But once debug, it is connected to argo and would trigger on a event/schedule.dry-beach-38304
05/03/2024, 6:59 PMdry-beach-38304
05/03/2024, 7:00 PMquaint-rocket-18436
05/03/2024, 7:02 PMdry-beach-38304
05/03/2024, 7:03 PMdry-beach-38304
05/03/2024, 7:03 PMgray-rose-40538
06/10/2025, 6:41 PMBootstrapping virtual environment(s) ...
Micromamba ran into an error while setting up environment:
command '/root/.metaflowconfig/micromamba/bin/micromamba create --yes --quiet --dry-run --no-extra-safety-checks --repodata-ttl=86400 --retry-clean-cache --prefix=/tmp/tmpqisl16cr/prefix --channel=conda-forge requests==>=2.21.0 boto3==>=1.14.0 pandas==2.0.0 snowflake-connector-python==3.0.4 pyyaml==6.0.1 slack-sdk==3.23.0 python==3.9.18' returned error (1)
critical libmamba Error parsing version ">=2.21.0". Version contains invalid characters in >=2.21.0.
Any suggested solutions?dry-beach-38304
06/10/2025, 6:43 PM