basant/output/220321-2245.html
2022-04-03 23:29:33 +10:00

109 lines
5 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title> Python Packaging sucks | Kitaab</title>
<meta property="og:title" content=" Python Packaging sucks | Kitaab">
<meta property="og:type" content="website">
<meta property="og:description"
content="config.site_meta_description">
<meta property="og:site_name" content="Kitaab">
<meta property="og:url" content="build_url">
<meta property="og:image" content="build_urlassets/social.png">
<meta property="og:image:height" content="300">
<meta property="og:image:width" content="300">
<meta property="og:image:type" content="image/jpeg">
<link rel="stylesheet" href="asset/style.css" type="text/css"
media="screen" title="no title" charset="utf-8">
<!-- Mastodon stuff should go here
<meta name="twitter:site" content="config.twitter_name">
<meta name="twitter:title" content="page_title | config.name_of_site">
<meta name="twitter:image" content="build_urlassets/social.png">
<meta name="twitter:image:alt" content="page_title | config.name_of_site">
--!>
<link rel="apple-touch-icon" sizes="57x57" href="build_urlassets/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="build_urlassets/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="build_urlassets/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="build_urlassets/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="build_urlassets/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="build_urlassets/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="build_urlassets/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="build_urlassets/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="build_urlassets/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="build_urlassets/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="build_urlassets/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="build_urlassets/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="build_urlassets/favicon-16x16.png">
<meta name="msapplication-TileColor" content="#5927e0">
<meta name="msapplication-TileImage" content="build_urlassets/ms-icon-144x144.png">
<meta name="theme-color" content="#5927e0">
<link rel="canonical" href="Raw">
<link rel="stylesheet" href="assets/main.css">
</head>
<body class="flow-large container">
<header>
<a style='display:flex;padding-top:10px' href="home.html" aria-label="Kitaab">Kitaab</a>
</header>
<main>
<div id='navigation' style="float: right;">
<nav>
<h2> <a href='tag_index.html'> Index </a> </h2>
<ul>
<li> <a href='recents.html'>recents</a></li>
<li> <a href='dev_index.html'>dev</a></li>
<li> <a href='way_index.html'>way</a></li>
<li> <a href='recipe_index.html'>recipe</a></li>
<li> <a href='ops_index.html'>ops</a></li>
<li> <a href='blog_index.html'>blog</a></li>
<li> <a href='rock_index.html'>rock</a></li>
<li> <a href='phil_index.html'>phil</a></li>
<li> <a href='story_index.html'>story</a></li>
<li> <a href='blog_index.html'>blog</a></li>
<li> <a href='untagged_index.html'>untagged</a></li>
</ul>
</nav>
</div>
<h1> Python Packaging sucks </h1>
<div style='max-width:660px;'>
<article class="flow">
<a href="dev_index.html">
dev
</a>
<a href="ops_index.html">
ops
</a>
<a href="nix_index.html">
nix
</a>
<date> 2022-03-21 22:45</date>
<p>Python is notorious for having layers and various build systems to actually build software. As someone building software first hand, this is proving annoying. Do I use setuptools? What's poetry? Yeah, I source'd my venv, and then installed through pip. Ughh. Nightmarish. As a <a href='nixOS.html' >nixOS</a> fan, I thought surely there is a better way. Ugh, nope. Nix either uses the package manager under the hood or rebuilds everything from scratch, in general for all languages. This is normally great, because nixpkgs has 10s of 1000s of packages, and when your package exists, everything Just Works. When you're writing your own .nix file to add your package, things are bit more frisky.</p>
<p>Most the time you're expected to just copy what other developers of other packages did, and because most languages generally bless a particular way of packaging applications, this isn't too bad. On python, it fucking sucks. There's at least 8 different ways to package a python <del>package</del> module, and then 3 ways to do so in Nix for each of those package management solutions. It's really annoying.</p>
</article>
</div>
</main>
</body>
</html>