PHPackages                             mkato/library-calendar - 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. [API Development](/categories/api)
4. /
5. mkato/library-calendar

ActiveLibrary[API Development](/categories/api)

mkato/library-calendar
======================

An API extension for getting free time from users calendar

016[6 PRs](https://github.com/m1a9s9a4/library-Calendar/pulls)PHP

Since Oct 18Pushed 3y agoCompare

[ Source](https://github.com/m1a9s9a4/library-Calendar)[ Packagist](https://packagist.org/packages/mkato/library-calendar)[ RSS](/packages/mkato-library-calendar/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependenciesVersions (7)Used By (0)

library-calendar
================

[](#library-calendar)

```
composer require mkato/library-calendar

```

about
-----

[](#about)

Calender Manager (ex: GoogleCalenderManager) is doing the hard things. It get's the schedules from the calendar via api.

If you're using google calendar, the code is ready for you. Use Calendar.php and it's already connected with the GoogleCalendarManager.

To use a different calendar, you have to create a calendar manager and schedule using the interface of those two. Then use service provider to extend the singleton of CalendarManager::class to your created class.

how to use?
-----------

[](#how-to-use)

Calling the Calendar.php, you can get your busy time or free time. However, you have to authenticate your email so it can access your calendar.

features
--------

[](#features)

### free time

[](#free-time)

It returns the time which has no schedule between the datetime you passed. Because it just looks into the schedule, the target time is 24 hours. Therefore midnight time will also be selected as a free time.

### busy time

[](#busy-time)

It returns the time which has some kind of schedule.

###  Health Score

19

—

LowBetter than 9% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity39

Early-stage or recently created project

 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.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/132521?v=4)[Maki Kato](/maintainers/mkato)[@mkato](https://github.com/mkato)

---

Top Contributors

[![m1a9s9a4](https://avatars.githubusercontent.com/u/22877924?v=4)](https://github.com/m1a9s9a4 "m1a9s9a4 (19 commits)")

### Embed Badge

![Health badge](/badges/mkato-library-calendar/health.svg)

```
[![Health](https://phpackages.com/badges/mkato-library-calendar/health.svg)](https://phpackages.com/packages/mkato-library-calendar)
```

###  Alternatives

[exsyst/swagger

A php library to manipulate Swagger specifications

35816.3M7](/packages/exsyst-swagger)[hubspot/api-client

Hubspot API client

24015.5M18](/packages/hubspot-api-client)[pocketmine/bedrock-protocol

An implementation of the Minecraft: Bedrock Edition protocol in PHP

172437.8k11](/packages/pocketmine-bedrock-protocol)[botman/driver-telegram

Telegram driver for BotMan

94452.6k6](/packages/botman-driver-telegram)

PHPackages © 2026

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