Pyogp Client Lib

From Second Life Wiki
Jump to navigation Jump to search

This page is dedicated to the client library aspect of the Pyogp project. The more general page is Pyogp

Overview

The longer term vision of the Pyogp project is essentially to create a client library, capable of navigating the grid and interacting with the various hosts, sitting next to a testing framework, happily running along telling us what works where, and where something needs a little attention to work according to specification...

Documentation

Components (and supporting environmental details)

These are the currently envisioned components.

  1. Login
  2. Caps (and while it's around, the UDP pipe)
  3. Message Handlers (see chttp)
  4. Basic web server parts for the Agent, Region and grid bits (ideally a snap in framework)

Status

  • Current Pyogp Repo - svn repo of the most up-to-date code we are using for the project
  • Interop Live Protocol - Current Interop project status, aka, what the beta agent domain has working
  • Tao Takashi's Pyogp - svn repo - Tao Takashi has hit the ground running with an experimental framework which has been made available here.
    • Read more at his blogpost describing the start of his work at his very long url.
  • Sai's Presence and Sai's Presence_cmd_line - Saijanai Kuhn's first attempts at some Python presence
  • Linden Pyogp - svn repo of Linden's first stab at framework, using Sai's code as a base
    • pyogp.lib-login.py - sample script which logs into aditi's agent domain and establishes a presence on a simulator on vaak:
    • Disclaimer*: Everything in the repo now will change dramatically in the next few weeks as things firm up structure wise. My desires for the work include: a simple, well defined library, a separate test framework (unittest, the initial high level code to be added this week), an samples/examples sandbox, and clean well commented code. That said, none of the above are in place now. They will be. More sophisticated implementations can evolve over time, or can be included on the side of the library...
  • Interop Ruths - some news that may be of interest to us

Plan

Task list for the client library. These may get PJIRA tasks someday, or some other format we decide upon.

  1. Pre-project Tasks
    • Determine whether to ZCA or not to ZCA - ZCA enables flexibility via modularity with a component based framework. The intent would be to incorporate this into the library, while the test harness bits would remain 'stock' python. Tao Takashi will extend his initial attempt at this one for AWG and LL to review early next week.
    • Decide whether or not to incorporate buildout
    • Decide whether to doctest or not to doctest. We are certainly planning to use unittest
  2. Develop requirements specification - let's first get an idea of what it is, exactly, that we want to build
    • Requirements
    • Use cases - these might help to identify how the lib might be used by someone
    • Identify target audience and the corresponding limitations - this project is not meant solely for Linden Lab, so we should identify we could use it and how they may use it
  3. Design the structure of the code according to the spec
  4. Implement the design
    • Determine how to distribute the code so nobody's toes hurt and no elbows bumped