1<!DOCTYPE html><html lang=""><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Coursier · Pure Scala Artifact Fetching</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pure Scala Artifact Fetching"/><meta property="og:title" content="Coursier · Pure Scala Artifact Fetching"/><meta property="og:type" content="website"/><meta property="og:url" content="https://get-coursier.io/"/><meta property="og:description" content="Pure Scala Artifact Fetching"/><meta name="twitter:card" content="summary"/><link rel="shortcut icon" href="/undefined"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/default.min.css"/><link rel="alternate" type="application/atom+xml" href="https://get-coursier.io/blog/atom.xml" title="Coursier Blog ATOM Feed"/><link rel="alternate" type="application/rss+xml" href="https://get-coursier.io/blog/feed.xml" title="Coursier Blog RSS Feed"/>
1<script type="text/javascript" src="https://buttons.github.io/buttons.js"></script>
1<script src="/js/scrollSpy.js"></script>
1<link rel="stylesheet" href="/css/main.css"/>
1<script src="/js/codetabs.js"></script>
1</head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><h2 class="headerTitle">Coursier</h2></a><a href="/versions"><h3>2.1.26</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/overview" target="_self">Docs</a></li><li class=""><a href="/blog/" target="_self">Blog</a></li><li class=""><a href="https://github.com/coursier/coursier" target="_self">GitHub</a></li><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div><div class="homeContainer"><div class="homeSplashFade"><div class="wrapper homeWrapper"><div class="inner"><h2 class="projectTitle">Coursier<small>Pure Scala Artifact Fetching</small></h2><img id="screencast" src="/img/coursier-launch.gif"/><div class="section promoSection"><div class="promoRow"><div class="pluginRowBlock"><div class="pluginWrapper buttonWrapper"><a class="button" href="/docs/overview" target="_self">Docs</a></div><div class="pluginWrapper buttonWrapper"><a class="button" href="https://github.com/coursier/coursier" target="_self">Code</a></div></div></div></div><div class="section promoSection"><div class="promoRow"><div class="pluginRowBlock"><div class="pluginWrapper buttonWrapper"><a class="button" href="/docs/cli-installation" target="_self">Install CLI</a></div><div class="pluginWrapper buttonWrapper"><a class="button" href="/docs/sbt-coursier" target="_self">Setup sbt</a></div><div class="pluginWrapper buttonWrapper"><a class="button" href="/docs/api" target="_self">Use the API</a></div></div></div></div><div class="section promoSection"><div class="promoRow"><div class="pluginRowBlock"><div class="pluginWrapper buttonWrapper"><a class="button" href="https://alexarchambault.github.io/posts/2020-09-21-cs-setup.html" target="_self">Single Command Scala Setup</a></div></div></div></div></div></div></div></div><div><div class="container paddingBottom paddingTop"><div class="wrapper"><div class="gridBlock"><div class="blockElement alignCenter fourByGridBlock"><div class="blockContent"><h2><div><span><p>CLI</p> 2</span></div></h2><div><span><p>Check dependencies and run apps from them right from the command-line</p> 3</span></div></div></div><div class="blockElement alignCenter fourByGridBlock"><div class="blockContent"><h2><div><span><p>No global lock</p> 4</span></div></h2><div><span><p>No global lock involved, so that several apps can download things at the same time</p> 5</span></div></div></div><div class="blockElement alignCenter fourByGridBlock"><div class="blockContent"><h2><div><span><p>Parallel downloads</p> 6</span></div></h2><div><span><p>Don't wait for the slowest repositories, and enjoy multiple downloads at the same time from repositories allowing it</p> 7</span></div></div></div><div class="blockElement alignCenter fourByGridBlock"><div class="blockContent"><h2><div><span><p>Principled API</p> 8</span></div></h2><div><span><p>Immutability and referential transparency at heart, relying on Scala futures or the IO monad of your choice</p> 9</span></div></div></div></div></div></div></div></div><footer class="nav-footer" id="footer"><section class="sitemap"><h2><a href="/" class="nav-home">Coursier</a></h2><div><h5><a href="/docs/overview">Docs</a></h5><a href="/docs/overview">Overview</a><a href="/docs/cli-installation">Install CLI</a><a href="/docs/sbt-coursier">Setup sbt</a><a href="/docs/api">Use the API</a></div><div><h5><a href="https://gitter.im/coursier/coursier" target="_blank">Community</a></h5><a href="https://gitter.im/coursier/coursier" target="_blank"><img src="https://img.shields.io/gitter/room/coursier/coursier.svg?logo=gitter&style=social"/></a><a href="https://github.com/coursier/coursier" target="_blank"><img src="https://img.shields.io/github/stars/coursier/coursier.svg?color=%23087e8b&label=stars&logo=github&style=social"/></a></div></section><section class="copyright">Copyright © 2026 coursier contributors</section></footer></div>
9<script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script>
9<script> 10 document.addEventListener('keyup', function(e) { 11 if (e.target !== document.body) { 12 return; 13 } 14 // keyCode for '/' (slash) 15 if (e.keyCode === 191) { 16 const search = document.getElementById('search_input_react'); 17 search && search.focus(); 18 } 19 }); 20 </script>
20<script> 21 var search = docsearch({ 22 23 apiKey: '53a7a919d6905f94dafd59e25d0f5e5d', 24 indexName: 'get-coursier', 25 inputSelector: '#search_input_react', 26 algoliaOptions: {} 27 }); 28 </script>
28</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.