npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@geoalgeria/telecom

v1.0.0

Published

Algeria mobile-network coverage as data — 1,681 5G coverage points from operator maps (Djezzy, Mobilis, Ooredoo), with wilaya/commune linkage. JSON, CSV, GeoJSON, TypeScript.

Readme

@geoalgeria/telecom

Algeria mobile-network coverage — as data you can install.

npm npm downloads License: MIT

1,681 5G coverage points across Algeria, published by the operators' own coverage maps — Djezzy (1,001), Mobilis (504), and Ooredoo (176) — each with coordinates and wilaya/commune linkage. Shipped as JSON, CSV, GeoJSON, and TypeScript. Part of GeoAlgeria.

npm install @geoalgeria/telecom
import telecom from "@geoalgeria/telecom";

const sites = telecom.coverage();                       // all 1,681 points
const djezzy = telecom.coverageByOperator("djezzy");    // 1,001
const mobilis = telecom.coverageByOperator("mobilis");  // 504
const ooredoo = telecom.coverageByOperator("ooredoo");  // 176

// 5G coverage in a wilaya (joins GeoAlgeria's wilaya_code)
const inAlger = sites.filter((s) => s.wilaya_code === "16");

The loaders and record shapes are fully typed:

import telecom, { type CoverageSite } from "@geoalgeria/telecom";
const sites: CoverageSite[] = telecom.coverage("5G");

What you can build

  • 5G coverage checkers — "is there 5G near me / in my wilaya?"
  • Operator comparison — Djezzy / Mobilis / Ooredoo footprint per wilaya/commune.
  • Maps — drop-in GeoJSON point layers for the 5G rollout.

What's inside

| Operator | Points | Granularity | Source map | | --- | --- | --- | --- | | Djezzy | 1,001 | cell site | djezzy5g.dz | | Mobilis | 504 | cell site | mobilis.dz/map/5g | | Ooredoo | 176 | covered commune | ooredoo.dz |

Covering 56 wilayas (including new wilayas like Timimoun, In Salah, Touggourt).

What a point is: each record is a point published on the operator's own 5G coverage map. Djezzy and Mobilis publish cell-site locations; Ooredoo publishes commune-level points within covered communes (a few communes carry several). The circles those maps draw are a fixed display radius, not measured RF coverage — treat these as 5G presence points, not coverage polygons.

Organization (future-proof)

Coverage is namespaced by technology, so adding a new generation later is purely additive — nothing renames:

data/
  coverage/5g/
    sites.json          # combined — all operators
    djezzy.json  mobilis.json  ooredoo.json
  csv/coverage/5g/sites.csv          # repo + Release bundle (not in npm tarball)
  geojson/coverage/5g/sites.geojson  # Point features
  metadata.json         # sources, technologies, per-operator counts, generated_at

The npm package ships the JSON; CSV/GeoJSON ride in every GitHub Release.

Record shape

{
  "id": "djezzy-ba5a8250cb",
  "technology": "5G",
  "operator": "djezzy",
  "name": "Ain benian ville",
  "address": "AIN BENIAN",
  "commune": null,
  "commune_ar": null,
  "commune_code": null,
  "wilaya_code": "16",
  "lat": 36.7898,
  "lng": 2.91341,
  "source": "https://www.djezzy5g.dz/map.html"
}

id is a deterministic {operator}-{coordinate-hash} key, stable across re-fetches. wilaya_code joins to GeoAlgeria's wilaya_code. Fields a given operator doesn't provide are null (Djezzy has no commune; Mobilis has commune FR/AR but no street address; Ooredoo has the commune name only). For Ooredoo, name is the covered commune.

Need the administrative divisions too?

For wilayas, dairas, and communes, use the main geoalgeria package — it's how you turn a wilaya_code into a polygon or name.

Source & regeneration

Data comes from each operator's public 5G coverage map. Run npm run fetch to regenerate every output: it decodes Djezzy's encoded marker blob, reads Mobilis's JSON endpoint, and reads Ooredoo's covered-communes endpoint from a real browser session (the Ooredoo site authenticates itself; this step needs the agent-browser CLI on PATH). Everything is normalized into one schema with wilaya_code resolved to GeoAlgeria codes. Operators file under the 58-wilaya scheme. Writes are all-or-nothing, so a failed operator never overwrites good committed data with a partial set.

License & attribution

Code is MIT. The underlying data is © the respective operators (Djezzy, Mobilis, Ooredoo), redistributed for reference and to power GeoAlgeria. 5G rollout is ongoing — each rebuild reflects whatever the operators' maps currently show; verify against the operators for authoritative, real-time information.