PHPackages                             sylus-code/multisport-endomondo-wrapper - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. sylus-code/multisport-endomondo-wrapper

ActiveLibrary

sylus-code/multisport-endomondo-wrapper
=======================================

endomondo api wrapper

1.0.5(5y ago)011MITPHP

Since Nov 24Pushed 5y ago2 watchersCompare

[ Source](https://github.com/sylus-code/multisport-endomondo-wrapper)[ Packagist](https://packagist.org/packages/sylus-code/multisport-endomondo-wrapper)[ RSS](/packages/sylus-code-multisport-endomondo-wrapper/feed)WikiDiscussions master Synced today

READMEChangelog (2)Dependencies (1)Versions (10)Used By (0)

Endomondo Api Wrapper
=====================

[](#endomondo-api-wrapper)

#### Description

[](#description)

As Endomondo is going retired, I've decided to create a tool to manage trainings based on Endomondo training archive json files.

#### Quick start

[](#quick-start)

```
use SylusCode\MultiSport\EndomondoWrapper\WorkoutImporter;
use SylusCode\MultiSport\EndomondoWrapper\WorkoutParser as EndoParser;
use SylusCode\MultiSport\EndomondoWrapper\WorkoutTypeResolver as EndoTypeResolver;
use Symfony\Component\Finder\Finder;

$finder = new Finder();
$endoResolver = new EndoTypeResolver();
$endoParser = new EndoParser($endoResolver);
$endoWorkoutImporter = new WorkoutImporter($finder, $endoParser);

$path = 'endomondo-2020-11-18.zip';
$result = $endoWorkoutImporter->importFromZipFile($path);

var_dump($result);

// Example output:
array(1) {
[0]=>
object(SylusCode\MultiSport\Workout\Workout)#2064 (14) {
["time":"SylusCode\MultiSport\Workout\Workout":private]=>
NULL
["type":"SylusCode\MultiSport\Workout\Workout":private]=>
object(SylusCode\MultiSport\Workout\Type)#62947 (2) {
  ["id":"SylusCode\MultiSport\Workout\Type":private]=>
  int(5)
  ["name":"SylusCode\MultiSport\Workout\Type":private]=>
  string(9) "Siłownia"
}
["distance":"SylusCode\MultiSport\Workout\Workout":private]=>
float(0)
["calories":"SylusCode\MultiSport\Workout\Workout":private]=>
int(63)
["durationTotal":"SylusCode\MultiSport\Workout\Workout":private]=>
int(919)
["points":"SylusCode\MultiSport\Workout\Workout":private]=>
array(918) {
  [0]=>
  object(SylusCode\MultiSport\Workout\Point)#2066 (7) {
    ["time":"SylusCode\MultiSport\Workout\Point":private]=>
    object(DateTime)#2055 (3) {
      ["date"]=>
      string(26) "2020-11-17 09:16:32.000000"
      ["timezone_type"]=>
      int(2)
      ["timezone"]=>
      string(1) "Z"
    }
    ["latitude":"SylusCode\MultiSport\Workout\Point":private]=>
    NULL
    ["longtitude":"SylusCode\MultiSport\Workout\Point":private]=>
    NULL
    ["altitude":"SylusCode\MultiSport\Workout\Point":private]=>
    NULL
    ["distance":"SylusCode\MultiSport\Workout\Point":private]=>
    NULL
    ["heartRate":"SylusCode\MultiSport\Workout\Point":private]=>
    int(72)
    ["speed":"SylusCode\MultiSport\Workout\Point":private]=>
    NULL
  }
  ..
```

#### Disclaimer

[](#disclaimer)

Endomondo workout parser based on archive json files. Hashtags are not included in this parser as Endomondo do not provide hashtagged wotkouts in archive workout pack.

#### What's next

[](#whats-next)

Add unit tests

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~2 days

Total

8

Last Release

1977d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/e0056988fddbc6f405402e41d393027a62a041cab3b8127c0b4325d873031104?d=identicon)[cenee](/maintainers/cenee)

---

Top Contributors

[![sylus-code](https://avatars.githubusercontent.com/u/12199141?v=4)](https://github.com/sylus-code "sylus-code (9 commits)")

### Embed Badge

![Health badge](/badges/sylus-code-multisport-endomondo-wrapper/health.svg)

```
[![Health](https://phpackages.com/badges/sylus-code-multisport-endomondo-wrapper/health.svg)](https://phpackages.com/packages/sylus-code-multisport-endomondo-wrapper)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
