From 4513a3e810d535d06056d77a9c3274af3ae2a0c9 Mon Sep 17 00:00:00 2001 From: paxtonfitzpatrick Date: Sun, 1 Oct 2023 15:45:00 -0400 Subject: [PATCH] fixed poetry reference, removed duplicate from bib file --- paper/main.bib | 7 ------- paper/main.pdf | Bin 1623492 -> 1622939 bytes paper/main.tex | 2 +- 3 files changed, 1 insertion(+), 8 deletions(-) diff --git a/paper/main.bib b/paper/main.bib index 8939d8a..552ae4d 100644 --- a/paper/main.bib +++ b/paper/main.bib @@ -5,13 +5,6 @@ @misc{skle22 title = {{scikit-learn User Guide: 9. Model persistence}}, year = {2022}} -@misc{poetry, - author = {Poetry team}, - howpublished = {\url{https://python-poetry.org/}}, - month = {February}, - title = {{Poetry: Python packaging and dependency management made easy}}, - year = {2018}} - @techreport{HeimCann19, author = {Christian Heimes and Brett Cannon}, institution = {Python Software Foundation}, diff --git a/paper/main.pdf b/paper/main.pdf index 91fab9981ffc54474a6e5a2cc3f599a770f28655..ecb3ba66bf7e85c34303b5d62bc1653b41c73114 100644 GIT binary patch delta 18127 zcmafZRZtvE*EB5d4vV|HySsbP;O=e#7I(MBf(3UA?(P~qxI=K){CVs7?*FQ}=sxFE z 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 delta 18678 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

qW*3Ddm$!e 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 diff --git a/paper/main.tex b/paper/main.tex index 322198d..49faf00 100644 --- a/paper/main.tex +++ b/paper/main.tex @@ -1000,7 +1000,7 @@ \subsection{Pitfalls and limitations} \texttt{pip} itself. For example, \texttt{pip}-installing a package that depends on a previously \texttt{smuggle}d package may result in the previously smuggled package being upgraded or downgraded to a different version. Whereas lockfiles, or lockfile-based -systems like \texttt{Poetry}~\citep{poetry}, place stronger guarantees that each package will +systems like \texttt{Poetry}~\cite{Eust19}, place stronger guarantees that each package will have a stable version, we have opted for a more flexible (but, consequently, less deterministic) implementation for \texttt{Davos}. This enables us to support more advanced use cases, such as those described in Section~\ref{sec:illustrative-example},